私は彼らのドキュメントからこれを読んでいました:
次に、カスタム資格情報認証プロバイダーを登録する必要があります。
//Register all Authentication methods you want to enable for this web app.
Plugins.Add(new AuthFeature(() => new AuthUserSession(),
new IAuthProvider[] {
new CustomCredentialsAuthProvider(), //HTML Form post of UserName/Password credentials
}
));
私の質問は次のとおり です。これをどこに置くのですか? また、「UserName/Password クレデンシャルの HTML フォーム ポスト」というコメントの意味は何ですか?
現在、呼び出されたときに JSON を返す ServiceStack サービスがあります。その上に Authorize 属性を追加して、許可されたユーザーのみがアクセスできるようにしたいと考えています。
彼らが提案するように、私はクラスを作成しました:
public class CustomCredentialsAuthProvider : CredentialsAuthProvider
{
public override bool TryAuthenticate(IServiceBase authService, string userName, string password)
{
//Add here your custom auth logic (database calls etc)
//Return true if credentials are valid, otherwise false
return false;
}
public override void OnAuthenticated(IServiceBase authService, IAuthSession session, IOAuthTokens tokens, Dictionary<string, string> authInfo)
{
//Fill the IAuthSession with data which you want to retrieve in the app eg:
session.FirstName = "some_firstname_from_db";
//...
//Important: You need to save the session!
authService.SaveSession(session, SessionExpiry);
}
}
「カスタム資格情報認証プロバイダーを登録する」にはどうすればよいですか?