2012-10-15 54 views
2

我正在寻找使用长数据类型(bigint)的系统中的各种id值和WebSecurity类的当前实现使得UserId是int(smallint)的假设。WebSecurity和长ID

我正在考虑下载源代码并编辑它以使用长数据类型。有谁知道这是否已经完成?

TIA,

回答

2

只是因为我真的结束了WebSecurity类的源代码移植到记录我的资源。与相关的成员资格和角色提供者源代码一起,然后进行编辑以适应我的需要。

2

,如果你喜欢,你可以定义在表中的用户ID列作为一个BIGINT。您只需告知WebSecurity帮助程序在InitializeDatabaseConnection方法中使用哪一列。

请参阅本文就如何初始化WebSecurity助手使用现有的数据库模式,而不是允许它来创建自己的:THE most basic way to implement ASP.NET Razor security

+0

嗨迈克,这确实是我做到这一点的方式。使用代码优先我的数据库已经使用bigint作为用户标识列。当您开始使用WebSecurity类时出现问题... public static int CurrentUserId {get; } 公共静态INT GetUserId(用户名字符串) 公共静态INT GetUserIdFromPasswordResetToken(字符串标记) ... 很多系统中,您不妨利用价值将超过int类型互动... – Jammer

+0

哦,我明白了什么你意思是。完全忽略了这一点 - 不幸的是,你将不得不创建你自己的成员资格提供程序,重写所有引用UserId值为int的方法并免除WebSecurity帮助程序。 –

+0

其实我现在正在查看WebSecurity源代码并希望构建一个自定义版本...虽然我并不完全相信这一行动的过程:) – Jammer