使用ValidUntil DateTime .NET成员身份添加用户角色

时间:2012-08-19 19:48:16

标签: asp.net asp.net-membership roles membership-provider

我使用ValidUntil datetime字段扩展UsersInRoles表。

Table Design

现在我想使用.net成员资格AddUserToRole函数,但我不能通过validuntil。

我试图覆盖,但我不能使用LinqToSql UserInRoles类..所以,因为我只有LinqToSql的expirience我想要一些帮助如何执行SQL查询;

我想使用我的自定义功能

 public bool AddUserToRole(Guid UserID, string RoleName, DateTime? ValidUntil)
 {
       Guid RoleID = StaticValue.GetRoleID(RoleName); 
       // add new UserID = UserID, RoleId = RoleID, ValidUntil = ValidUntil

 }

Add User In Role

1 个答案:

答案 0 :(得分:1)

当您致电Roles.AddUserToRole时,会调用此功能

static public void AddUserToRole(string username, string roleName){
   ...
   Provider.AddUsersToRoles(new string [] {username}, new string [] {roleName}); 
   ... 
} 
来自函数调用Provider.AddUsersToRoles的AddUsersToRoles的

RoleProvider

public abstract void AddUsersToRoles(string[] usernames, string[] roleNames);

底线是你无法调用在自定义角色提供程序中创建的自定义函数,如Roles.AddUserToRole( - , - , - )

相反,您必须创建自己的角色服务/管理器类,并自行插入/更新/删除到UsersInRoles表。