1

現在、フォーム認証を使用するMVCWebサイトがあります。

このWebサイトでは、aspnet_MembershipテーブルのUserIdに対応するGUIDを設定するだけで、ユーザーに自動的にログインできます。テーブルにクエリを実行し、そのユーザー名を使用して、フォーム認証で認証Cookieを設定するだけです。

私は現在使用しています:

FormsAuthentication.RedirectFromLoginPage(username, false)

ただし、オプションで以下も使用できます。

FormsAuthentication.SetAuthCookie(username, false, "/")

今、私はこれに似た何かをする必要がありますが、SharePointで。SPは私のメンバーシップテーブルにアクセスできます。

ただし、SPは検証にSecurityTokensを使用しているようです。

        SecurityToken token = SPSecurityContext.SecurityTokenForFormsAuthentication(new Uri(SPContext.Current.Web.Url), formsClaimsAuthenticationProvider.MembershipProvider, formsClaimsAuthenticationProvider.RoleProvider, strUsername, strPassword);   

        if (null != token)   
        {   
            EstablishSessionWithToken(token);   
            Response.Redirect(strSource);
        }

パスワードなしでユーザー名を入力するだけでこのトークンを取得する方法はありますか?

4

1 に答える 1

1

完全にはわかりませんが、FBA(フォームベースの認証)を使用している場合は、独自のログインページを作成できます。そのカスタムログインページでは、ユーザーを認証したいことは何でもできます。

もちろん、最初にSharePointをFBA用に構成する必要があります。これは非常に「複雑な」プロセスです。

それだけでは不十分で、SQLMembershipProviderが探しているものではない場合は、独自のメンバーシッププロバイダー/ロールプロバイダーを作成して、GUIDなどを操作することもできます。

于 2013-03-08T07:36:55.783 に答える