0

ValidUntil 日時フィールドを使用して UsersInRoles テーブルを拡張します。

テーブルデザイン

今、私は .net メンバーシップの AddUserToRole 関数を使用したいのですが、validuntil を渡すことができません。

オーバーライドしようとしましたが、LinqToSql UserInRoles クラスを使用できません。したがって、LinqToSql でのみ経験があるため、SQL クエリを実行する方法について助けが必要です。

カスタム関数を次のように使用したい

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

 }

ロールにユーザーを追加

4

1 に答える 1

1

を呼び出すとRoles.AddUserToRole、この関数が呼び出されます

static public void AddUserToRole(string username, string roleName){
   ...
   Provider.AddUsersToRoles(new string [] {username}, new string [] {roleName}); 
   ... 
} 

Provider.AddUsersToRoles上記の関数呼び出しからRoleProviderAddUsersToRoles

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

要するに、Roles.AddUserToRole(-, -, -) のようなカスタム ロール プロバイダー内で作成されたカスタム関数を呼び出すことはできません。

代わりに、独自の Role サービス/マネージャー クラスを作成し、自分で UsersInRoles テーブルに挿入/更新/削除する必要があります。

于 2012-08-21T16:49:03.240 に答える