私のモデルがテンプレートで提供されているものに完全に適合していないため、Silverlight 4 ビジネス テンプレートで提供されている認証システムに追加しようとしています。認証を実行し、ロールを提供し、各ロールに許可された操作も行う既存の Web サービスがあります。これは、AzMan/Authentication Manager によって提供されるモデルです。
ただし、単一のロールを取得するだけでなく、認証後にユーザーに使用可能なロールのリストを提供し、ユーザーがこれらのロールのいずれかを選択して、選択したロールの操作/アクションのリストを取得できるようにします。
私が抱えている問題は、認証サービスに新しいメソッドを追加して、現在のユーザーの操作と現在選択されているロールを取得してログインプロセスを完了する方法がわからないことです。
public SessionInfo GetOperations(string username, string selectedRole)
{
SessionInfo sessionInfo;
using (AzManServiceClient azClient = new AzManServiceClient("AnonymousAuthentication"))
{
sessionInfo = azClient.LoginUserByUsername("msldap://CN=LiveApps,CN=Program Data,DC=HLSUK,DC=local", "AIRS", selectedRole, null, username);
}
return sessionInfo;
}
上記のメソッドは、WebContextBase.Current.Authentication を使用して LoginForm.xaml.cs からアクセスできません... Login などのメソッドのみが表示され、authenticationbase でこれらのメソッドが表示されないため、さらに不可解です。私は完全に混乱しています。認証サービスに新しいメソッドを追加する方法、新しいドメイン サービスを作成する方法、または azman サービスにアクセスして Silverlight クライアントから直接操作を取得する方法を教えてください。