问题标签 [formsauthentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
756 浏览

c# - 使用 FormsAuthentication.SetAuthCookie 存储加密字符串

我首先要说,也许这有点矫枉过正。

在我的登录例程中,我在使用 FormsAuthentication.SetAuthCookie 之前加密了用户的登录 ID。

问题是,如果加密的字符串最终包含转义字符,则保存的字符串会被截断以处理转义字符。

我应该放弃尝试加密用户的登录 ID 吗?

或者,有没有办法解决这个问题?

这是一个被截断的示例字符串:<< *€ƒKõ‹¯Þ\0ý´Gv\"þEaÔs0n×\tD¦™s€7Œ>>

0 投票
1 回答
351 浏览

asp.net - asp.net 成员层次结构?

嗨,我只是想知道如何实现各种会员等级。

例如:

校长

-- 老师1

-- 老师2

我希望设置一个老师可以创建学生的场景。每个老师只能看到他们的学生。校长可以看到所有老师和他们的学生。

我无法弄清楚如何使用 asp.net 的会员/角色来解决这个问题?

任何想法将不胜感激。

干杯。

0 投票
1 回答
492 浏览

c# - Asp.net FormsAuthentication 用户名、ID、GUID

我们将 FormsAuthentication 与自定义 MembershipProvider 和自定义 RolePrivoder 一起使用。对于我们的用户,我们有一个唯一的用户名、ID(mssql 自动密钥)和一个 GUID(所有三个唯一的)。

我不确定将哪一个用于 Formsauthentication:

用户名、ID 或 GUID。我们甚至可以将所有三个信息作为 UserData 存储在 FormsTicket 中吗?

默认 Asp.net 采用用户名(例如电子邮件地址)。但是我认为如果将 UserName 存储在客户端上,它会有点弱。还有一个 MSSQL 自动键。

那么最安全的方法是什么?

0 投票
1 回答
1672 浏览

asp.net - 从 Silverlight 4 应用程序使用的 ASP.NET 登录页面获取表单身份验证

这应该只是工作。我已经阅读了我可以通过 google 找到的关于该主题的所有文章,并尝试从 StackOverflow 和 CodeProject 等其他文章中尽可能多地复制,但无论我尝试什么 - 它都不起作用。

我有一个使用 Windows 身份验证运行良好的 silverlight 应用程序。

为了让它在表单身份验证下运行,我已经:

编辑 web.config 文件以启用表单身份验证(并删除 Windows 身份验证配置):

在页面后面创建了一个标准的logon.aspx和logon.aspx.cs代码来获取用户输入的用户名和密码,并在登录成功时创建一个身份验证cookie,然后将用户重定向到网站的根页面,这是一个silverlight应用程序:

因此,成功登录后的重定向会启动我的 silverlight 应用程序。

但是,在执行 Silverlight 启动代码时,用户未经过身份验证:

错误发生在 ApplicationUserLoaded 方法中,该方法在进入该方法时始终将其 HasError 属性设置为 true。

报告的错误如下 - 在我看来,用户在进入 silverlight 应用程序时未被视为经过身份验证,因此它指示代码尝试返回登录页面,该页面返回的数据意外银光应用:

有任何想法吗?

根据我阅读的所有内容,这应该非常简单并且可以正常工作 - 所以我显然犯了一个非常基本的错误。

我想知道在我的 logon.aspx 网页上对用户进行身份验证后,我是否需要以某种方式将经过身份验证的 WebContext 实例从登录页面传递到我的 silverlight 应用程序,而不是在 silverlight 应用程序启动代码中创建一个新实例 - 但是不知道该怎么做。

欣赏任何或所有建议。

0 投票
0 回答
119 浏览

formsauthentication - 按用户名和电子邮件地址搜索表单身份验证

我正在使用表单身份验证,并提供了几个搜索框以允许通过用户名和电子邮件地址进行搜索。

所以,我可以这样做以按名称搜索

我可以这样做以通过电子邮件地址进行搜索

问题是,在用户同时搜索用户名和电子邮件地址的情况下,我将带回具有特定电子邮件地址的所有用户,然后在其中进行搜索以获取与用户名匹配的所有用户指定的。我将无法呼叫第一个呼叫。如果有大量用户在第一次调用中被带回,那么这可能会对性能产生影响。

有什么解决办法吗?

谢谢,

萨钦

0 投票
1 回答
196 浏览

asp.net - 使用身份验证的 ASP.NET MVC 2

如果我可以这样称呼它,这就是我的问题。我已经在 asp.net mvc 2.0 中使用自定义成员资格提供程序实现了身份验证。一切正常,但我有一个问题。当用户登录时,他提供了用户名和密码,我检查了这个通过 MSSQL 中的数据库,然后我验证用户并传递并使用 FormsAuthentication 仅将 UserName 设置为配置文件信息。

但是,当该用户想要创建仅属于他并且可以与用户创建的其他项目一起列出的新项目(比如说出售或其他东西)时,我可以使用此用户名(在 FormsAuthentication 中)在数据库中检查它并将该项目连接到具有外键的适当用户,但如果用户名是唯一的,那么我需要额外的信息,比如数据库表“用户”中的 ID 列来存储和使用它,所以什么是最安全和“最佳实践”的方式来存储用户的附加信息稍后再使用它,因为我提到的用户名在数据库中必须是唯一的,并且关于登录用户的信息不足。

0 投票
1 回答
199 浏览

security - 用户会话的身份验证不持久

我的网站在请求之间不断迫使我回到登录页面(身份验证问题)。

我的本地网站运行良好,并且代码完全相同。没有身份验证问题...

我一直在网上搜索,整天在这个问题上扯头发,尝试按照建议的不同方法,等等。

有人可以向我解释发生了什么以及如何纠正它吗?

下面是我登录生产站点后立即可用的 cookie 的下图。请注意,没有列出任何 cookie。

Cookie 信息 - http://yeagertech.com/

现在,如果您查看为我的开发站点执行相同代码的相同信息,您会看到以下内容。这让我发疯了,在这上面浪费了一整天。我会感谢任何有帮助的人!

Cookie 信息 - http://localhost:4514/

姓名

代理人

价值

http://localhost:62613/proxy/0/

领域

本地主机

小路

/

过期

2012 年 2 月 12 日晚上 8 点 21 分 16 秒

请注意,在多次请求后,它会返回登录页面 --- 仅在生产站点上,而不是在我的本地站点上。

在需要返回登录页面之前,生产站点上的 cookie 似乎没有足够长的保质期。

我基本上希望 cookie 至少在用户会话中持续存在。

我能做些什么来解决这个问题?

再次感谢....

我需要在 IIS 中配置与该网站相关的设置,我做了以下错误:

“无法使用 SQL Server,因为 SQL Server 上未安装 ASP.NET 2.0 版会话状态。请安装 ASP.NET 会话状态 SQL Server 2.0 版或更高版本”

收到此错误后,我发现需要在 SQL Server 上启用会话状态,因此,我尝试运行 InstallSqlState.SQL 文件(位于本地 PC 上的 Microsoft.Net 版本文件夹中)。

尝试运行脚本后,它失败(出现以下错误),因为在 SystemDatabases 文件夹中我的托管数据库服务器上没有“msdb”数据库。

“数据库 'master' 中的 CREATE DATABASE 权限被拒绝。如果作业不存在,则预计 msdb.dbo.sp_delete_job 会出错。消息 229,级别 14,状态 5,过程 sp_delete_job,第 1 行 EXECUTE 权限在对象“sp_delete_job”,数据库“msdb”,模式“dbo”。消息 911,级别 16,状态 1,第 10 行数据库“ASPState”不存在。确保输入的名称正确。”

所以,除非我的托管数据库上有一个 msdb 数据库(我只有 master 和 tempdb),否则我不可能在我的 sql server 上设置会话状态。

我想知道如何从这里开始。

顺便说一句,我发现即使启用它也不太可能解决问题。我的情况不符合您最初概述的 3 个要点中的任何一个。

这是一个很小的数据库,里面几乎没有任何记录。我只是在我的网站上对其进行测试,以确保在开始向其添加记录之前它可以正常工作。也没有时间间隔。

我很好地转到了几个页面,然后突然回到登录页面......

如果我的本地机器工作正常,它肯定与我需要设置的东西有关,因为我正在使用你的服务器。

我将不胜感激任何帮助....

0 投票
1 回答
2532 浏览

asp.net-mvc - 测试帐户/登录操作

我正在使用 Visual Studio 2010 的内置测试工具和本文中的类库来测试 Account/Loggon 操作,以创建假控制器上下文。当我运行测试方法时,此代码行:

抛出异常:对象引用未设置为对象的实例

为了测试登录操作,我想我应该创建一个带有 cookie 集合的假控制器上下文的控制器。这是我的测试代码块:

0 投票
1 回答
1393 浏览

asp.net - ASP.NET 身份验证 cookie(网络场)

我使用 FormsAuthentication

我有一个有 2 个节点的网络场。我所做的 :

1)我通过我的工厂通过第一个节点登录到我的站点并转到默认页面。

2)我关闭了第一个节点,所以下一个请求应该是我的第二个节点。

3)我正在尝试请求一些页面(如果我已登录,则应该可用),但应用程序将我重定向到登录 url。我认为是因为 cookie 不正确或丢失。

我使用了机器密钥,例如:

但它仍然不起作用。我做的几乎和这里描述的一样:http: //msdn.microsoft.com/en-us/library/eb0zx8fc.aspx

但这对我不起作用。我究竟做错了什么 ?

0 投票
1 回答
1268 浏览

asp.net - 使用 FormsAuthentication.SetAuthCookie 方法读取值

使用该方法创建了一个 Cookie,其实际存储的值为:

87B0B98C-3108-4367-B8EF-5A7D35F65E1D

但 cookie 中显示的实际值为:

34D20FCCC8F39594FAEA6B924535EA19834AEBE9F91D859D530735C06EDBFF5DD22CC0DCDD99FB164B8079CE00D420DEB18B209E2894D2F53A39F8352A1E3661A887259047E29E9D67755336E09B32D60C0226219EFDD0D5EE8DE48356AF6502A8752E6EA2FB3C737474F4A471EC9C181858A4D83748C9F55B4F20F6946F1F9B6F8B9E4E73717BF87F0C04F828A9C543BFA87C88CC5095C5F31570377C55EB88CF0E3E42

我的问题是,如何将 cookie 中的值转换为实际值(如果您试图在没有 .net 的情况下访问它)

或者这是你真的无法绕过的一层加密?