質問者
WSSにてフォーム認証の設定を行ったところ、『エラー:アクセス拒否』となる

質問
-
はじめまして
現在WSS(Windows SharePoint Services)のサイトにて、フォーム認証を行おうとしています。
し かし、フォーム認証設定後にアクセスすると、
ログイン画面でID/PASSWORDを入力するとログインは行われますが、
『エラー: アクセス拒否』というアクセス権がない時のメッセージが表示されます。
サイトコレクションのグループユーザ(所有者・閲覧者)、グループに属さな いユーザ、どちらでも上記事象が発生しました。
このような事象が発生する理由や、回避策を教えていただけないでしょうか。
■ 設定内容・流れ
・WEBアプリケーション作成
(認証の種類:NTML、匿名アクセス:無効、ポート:17767)
↓
・サ イトコレクション作成
↓
・NTLM認証にてログイン可能なことを確認(ユーザ登録)
↓
・認証の編集
認証の種 類:フォーム
メンバシップ プロバイダ:MembershipADProvider(ActiveDirectoryメンバシッププロバイダ)
ロール マネージャ:未入力(参考にしたサイトにて省略可能とあった為)
クライアント統合:無効
↓
・web.configへの メンバシップ プロバイダ登録
↓
サイトにログインし、問題事象を確認。
■ 環境
windows2008server
IIS 7
WSS3.0
■ 参考にしたサイト
http://technet.microsoft.com/ja-jp/library/cc288259%28office.12%29.aspx#section2
以上よろしくお願いいたします。2010年7月14日 11:51
すべての返信
-
こんにちわ
フォーム認証の設定後に、フォーム認証でログインするユーザーを追加していないのが原因と思われます。
たぶん、今は下記の状態だと思います。
Windows認証で、domain01\user01でログインできていると思います。
フォーム認証の場合、domain01\user01は認識できません。
じゃ、どうするかと言いますと、まず全体の管理の->アプリケーション構成の管理->Webアプリケーションのポリシーで、ユーザーの追加で、user01を入力して認識させてみてください。
その後、マウスカーソルをuser01にあててみてください、そうすると「<メンバーシップ名>:user01」と表示されます。
つまり、domain01\user01とは別物なのです。
これがないと、ログインできません。
よろしくお願いします。
2010年7月15日 3:02 -
tamaki9様
回答ありがとうございます。
早速試して見ました。
Webアプリケーションのポリシーのユーザー追加で、領域『規定』(ADメンバシップを登録済み)で、
ユーザー名を入力し『名前の確認』を押すと、『完全一致ははありませんでした。』というエラーメッセージが表示されます。
この状態でユーザー名にマウスカーソルをあてると『このエントリは見つかりません』と表示されます。
(領域が『すべて』の場合は、ユーザーを[domain01\user01]の形式で登録できます)
また、ユーザーの参照を行おうとしても、検索に引っかかりません。
(すべてのユーザーが検索できないようです)
ユーザーの所有者の設定画面においても、既に登録済みのユーザーが表示はされますが、
『完全一致ははありませんでした。』というエラーメッセージが表示されます。
メンバーシップに設定しているADにつながっていないのかと思っています。
最初に記述した設定以外は変えていないのですが、他に設定しなければいけないところがあるのでしょうか。
ご存知でしたら、お教えいただきますようお願いいたします。
2010年7月15日 8:12 -
tamaki9様
ありがとうございます!
フォーム認証できるようになりました。
>>Web.Configは、2つ編集する必要がありますが、良いですよね。
2つ編集することは知っていましたが、PeoplePickerWildcardsの設定をしていない為検索出来ませんでした。
現在は、実際のWebアプリと全体管理の両方で、ユーザーの検索が出来ます。
そこで、さらに疑問なのですが、
ADのユーザーは検索できるのですが、ADのグループが検索できません。
(WINDOWS認証の時は、グループも検索できました。
まだ設定が不足しているのでしょうか?
■Webアプリへの設定(抜粋)
<connectionStrings>
<add name="ADConnectionString" connectionString="LDAP://SERVER/CN=Users,DC=HOGE,DC=LOCAL" />
</connectionStrings>
--------------------------------------------------------
<authentication mode="Forms">
<forms loginUrl="/_layouts/login.aspx" />
</authentication>
<membership defaultProvider="MembershipADProvider">
<providers>
<add name="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" enableSearchMethods="true" attributeMapUsername="sAMAccountName" />
</providers>
--------------------------------------------------------
<PeoplePickerWildcards>
<clear />
<add key="MembershipADProvider" value="*" />
</PeoplePickerWildcards>
何度もお手数をお掛けしますが、よろしくお願いいたします。2010年7月16日 7:57