gpt4 book ai didi

c# - ServiceStack 将身份验证放入 Razor View

转载 作者:太空狗 更新时间:2023-10-29 23:33:00 25 4
gpt4 key购买 nike

(我说的是纯 SS 项目,请不要与 MVC Razor 混淆)

我们如何通过身份验证限制对 SS Razor View 的访问?

也就是说,我们如何从 SS Razor 调用用户 session 和授权代码?

我想做这样的事情:

@inherits ViewPage
@Authenticate(RedirectUrl = "/Login")

<div>Hello @UserSession.UserName</div>
<div>You are in the secured area now</div>

最佳答案

我不知道有什么方法可以直接从 SS Razor 页面执行此操作。然而,当我遇到同样的困境时,我通过创建一个为页面提供服务的服务来解决它。这样你就可以用 Authorize 装饰页面的服务。属性,如果用户未通过身份验证,它将被重定向到登录页面。

[Authorize]
public class MyPageService : IService<MyRequestDTO>
{
public object Execute(MyRequestDTO request)
{
...
return new MyPageViewModel();
}
}

要检索 Razor 页面中的当前 session ,您可以使用 GetSession<T> .

@{
var currentSession = GetSession<CustomUserSession>();
}

<div>Hello @currentSession.UserName</div>

这样做的另一个好处是您可以获得强类型 View 并从服务中为 View 提供数据。

@inherits ViewPage<MyPageViewModel>

关于c# - ServiceStack 将身份验证放入 Razor View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com