1

EWL で Web サイト全体にフォーム認証を使用したいと考えています。うまくいきません。

  • FormsAuthCapableUserManagementProvider を拡張する UserManagementProvider を作成しました。
  • 認証されたユーザーが存在するようにルート エンティティ セットアップを設定しました (protected override bool UserCanAccessEntitySetup { get { return AppTools.User != null; } })
  • Global.asax に GetShortcutUrlResolvers の次の実装があります。

    protected override IEnumerable<ShortcutUrlResolver> GetShortcutUrlResolvers() {
        yield return new ShortcutUrlResolver( "", ConnectionSecurity.SecureIfPossible, () => AppTools.User == null ? null : Pages.Dashboard.GetInfo() );
    }
    

サイトのルートにアクセスすると、アクセス拒否の例外が発生します。AppTools.User == null を削除すると? null の 3 項、権限のないユーザーに対して GetUrl が呼び出されたことを示す未処理の例外が発生します。認証されたユーザーがいる場合にのみショートカット URL を追加すると、ルート URL に移動したときに送信先がわからないため、「このページは利用できなくなりました」というエラーが表示されます。ログインページが表示されません。他に何をしなければなりませんか?

4

1 に答える 1

1

EWL があなたのプロバイダーをピックアップしていない可能性があります。クラスがUserManagement(UserManagementProvider ではなく) 呼び出され、YourLibraryProjectNamespace.Configuration.Providers名前空間にあることを確認してください。

于 2013-02-27T23:15:52.420 に答える