首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DotVVM认证

DotVVM认证
EN

Stack Overflow用户
提问于 2015-10-13 16:51:28
回答 1查看 674关注 0票数 0

在dotVVM框架中,我遇到了一个关于Owin身份验证的问题。我得到401错误授权后,在页面上,需要认证。

这是我现在的startup.cs

代码语言:javascript
复制
var applicationPhysicalPath = HostingEnvironment.ApplicationPhysicalPath;

// use DotVVM
DotvvmConfiguration dotvvmConfiguration = app.UseDotVVM(applicationPhysicalPath);
dotvvmConfiguration.RouteTable.Add("Login", "", "Views/login.dothtml", null);
dotvvmConfiguration.RouteTable.Add("Home", "Home", "Views/home.dothtml", null);
dotvvmConfiguration.RouteTable.Add("Register", "Register", "Views/register.dothtml", null);

// use static files
app.UseStaticFiles(new StaticFileOptions()
{
    FileSystem = new PhysicalFileSystem(applicationPhysicalPath)
});

app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie
});

HomeViewModel.cs

代码语言:javascript
复制
[Authorize]
public class HomeViewModel : DotvvmViewModelBase { }

我用这种方式创造了Auth Cookie

代码语言:javascript
复制
public void Login()
{
    var identity = LoginHelper.GetIdentity(Email, DataAccess.DbAccess.CreateHash(Password));
    if (identity == null)
        return;

    Context.OwinContext.Authentication.SignIn(new ClaimsIdentity(identity));
    Context.Redirect("Home");
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-15 16:48:54

登记的顺序是很重要的。app.UseCookieAuthentication应该是第一个注册的中间件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33108305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档