Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在EWL中正确设置表单身份验证?_C#_Forms Authentication_Enterprise Web Library - Fatal编程技术网

C# 如何在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

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

  • 我创建了一个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
命名空间中