【发布时间】:2020-11-10 14:12:58
【问题描述】:
我来自 PHP 背景,每当我创建登录页面和需要您登录才能查看的页面时,我都遵循此处找到的方法:
How to check if a user is logged-in in php?
这基本上依赖于创建会话,并在任何页面的顶部检查会话是否存在,如果不存在则重定向回登录页面,如果会话不存在,如果它确实存在,它会继续读取其余部分php代码。
但是,我现在正在尝试学习 ASP.NET 3.1 并使用它创建一个 Web 应用程序。我在身份框架上找到了很多资源,但是当你比较我上面在 PHP 中所做的事情时,这似乎比我真正需要的要多得多,我认为它是安全的,因为没有存储类似于我在大多数身份框架实现。
我在 ASP.NET 3.1 中没有看到任何类似于这种 PHP 方法的身份验证示例,在每个剃须刀页面的顶部,他们检查会话状态,如果失败,它会重定向到登录页面。我认为这应该是一种简单而安全的方法,那么为什么它在 ASP.NET Core 中不那么流行呢?如果它是类似于 PHP 的良好实践,你能否指出我正在做的一个例子的方向。我承认我在 Stackoverflow.com 上找到了一个示例,我似乎无法再次找到该示例,其中用户在 startup.cs 文件中添加了对会话功能的检查,并表示这是一种不好的做法,但根本没有对其进行扩展。
【问题讨论】:
-
我将把它留在这里:stackoverflow.com/questions/48836688/… 这很可能会回答你的一些问题。
-
asp.net 核心试图强制执行好的做法并阻止坏的做法,因此通常很难找到“像在 php 中一样”的方法。
标签: c# asp.net-core razor-pages