1

我想在 EWL 中对整个网站使用表单身份验证。它只是不工作。

  • 我创建了一个扩展 FormsAuthCapableUserManagementProvider 的 UserManagementProvider。
  • 我已将根实体设置设置为强制存在经过身份验证的用户(受保护的覆盖 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 三元,我得到一个未处理的异常,说 GetUrl 是为没有权限的用户调用的。如果我仅在存在经过身份验证的用户时添加快捷方式 URL,我会收到“此页面不再可用”错误,因为当我转到根 URL 时它不知道将我发送到哪里。我从来没有看到登录页面。我还需要做什么?

4

1 回答 1

1

也许 EWL 没有选择您的提供商。确保该类被调用UserManagement(不是 UserManagementProvider)并且在YourLibraryProjectNamespace.Configuration.Providers命名空间中。

于 2013-02-27T23:15:52.420 回答