C# 如何在EWL中正确设置表单身份验证?
我想在EWL中对整个网站使用表单身份验证。它只是不起作用C# 如何在EWL中正确设置表单身份验证?,c#,forms-authentication,enterprise-web-library,C#,Forms Authentication,Enterprise Web Library,我想在EWL中对整个网站使用表单身份验证。它只是不起作用 我创建了一个UserManagementProvider,它扩展了FormsAuthCapableUserManagementProvider 我已将根实体设置设置为强制存在经过身份验证的用户(受保护的覆盖bool UserCanAccessEntitySetup{get{return AppTools.user!=null;}}) 我在Global.asax中实现了以下GetShortcutUrlResolver: protected
- 我创建了一个UserManagementProvider,它扩展了FormsAuthCapableUserManagementProvider
- 我已将根实体设置设置为强制存在经过身份验证的用户(受保护的覆盖bool UserCanAccessEntitySetup{get{return AppTools.user!=null;}})
- 我在Global.asax中实现了以下GetShortcutUrlResolver:
protected override IEnumerable<ShortcutUrlResolver> GetShortcutUrlResolvers() { yield return new ShortcutUrlResolver( "", ConnectionSecurity.SecureIfPossible, () => AppTools.User == null ? null : Pages.Dashboard.GetInfo() ); }
受保护的重写IEnumerable GetShortcutUrlResolver(){ 返回新的ShortcutUrlResolver(“”,ConnectionSecurity.security如果可能,()=>AppTools.User==null?null:Pages.Dashboard.GetInfo()); }
我在访问站点根目录时遇到访问被拒绝的异常。如果我删除AppTools.User==null?null,我得到一个未处理的异常,表示为一个没有权限的用户调用了GetUrl。如果仅当存在经过身份验证的用户时才添加快捷方式URL,则会出现“此页面不再可用”错误,因为当我转到根URL时,它不知道将我发送到何处。我从来没有出现过登录页面。我还需要做什么?也许EWL没有接你的供应商。确保该类名为
UserManagement
(不是UserManagementProvider),并且位于YourLibraryProjectNamespace.Configuration.Providers
命名空间中。可能EWL没有接收您的提供程序。确保该类名为UserManagement
(不是UserManagementProvider),并且位于YourLibraryProjectNamespace.Configuration.Providers
命名空间中