如何在EWL中正确设置表单身份验证?

时间:2013-02-27 20:51:41

标签: c# forms-authentication enterprise-web-library

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

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

1 个答案:

答案 0 :(得分:1)

也许EWL没有接你的提供商。确保该类名为UserManagement(而非UserManagementProvider),并且位于YourLibraryProjectNamespace.Configuration.Providers命名空间中。