将 ASP.NET 中基于表单的身份验证与通过 URL GET 参数进行的直接身份验证相结合

发布于 2024-12-07 21:03:27 字数 457 浏览 0 评论 0原文

我是 ASP.NET 的新手,在 google 上搜索已经得到了很多答案(谢谢!)。 我现在的任务是建立一个网站,需要身份验证,所以我选择了基于表单的身份验证,效果很好。 我需要添加功能,当用户可以单击链接并重定向到该网站后,他将根据 GET 参数自动获得授权。

例如: http://www.mysite.com/login.aspx?username=xxx& ;password=yyy

因此,点击此类链接后,他将跳过登录页面并继续翻到后面的页面。

你能帮我解答这个问题吗?

PS我知道,它不安全,用户名和密码将以明文形式显示,但这里我们讨论的是生成的用户名和密码,该用户名和密码仅可用一天,并且需要识别用户才能执行此操作要求。

I'm new in ASP.NET and already got a lot of answers here searching on google (THX!).
My task is now to build a website, where authentication is required, so I choosed form based authetication, which is working well.
I need to add functionality, when user can click on link and after redirecting to that website he will get automatically authorized based on GET parameters.

For example:
http://www.mysite.com/login.aspx?username=xxx&password=yyy

So after clicking on such link he will skip login page and continue to page behind.

Could you please help me with that question?

P.S. I'm aware, that it is not secure and username with password will be visible as clear text, but here we are talking about generated username and password which will be available just for one day and it is required to identify user to do one request.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧时浪漫 2024-12-14 21:03:27

你可以做类似的事情。

确保用户名和密码位于 querystring 中,然后将它们分配给 usernamepassword 变量。

c#

if (FormsAuthentication.Authenticate(username, password))
{
    FormsAuthentication.SetAuthCookie(username, true);
    FormsAuthentication.RedirectFromLoginPage(username, true);
}
else { // not authenticated. do something }

vb.net

If FormsAuthentication.Authenticate(username, password) Then
    FormsAuthentication.SetAuthCookie(username, true)
    FormsAuthentication.RedirectFromLoginPage(username, true)
Else
    ' not authenticated. do something.
End If

为此,您需要导入/使用 System.Web.Security。 true 值告诉您的身份验证设置持久 Cookie 值。

You could do something like.

Make sure the username and password are in the querystring, and then assign them to a username and password varaible.

c#

if (FormsAuthentication.Authenticate(username, password))
{
    FormsAuthentication.SetAuthCookie(username, true);
    FormsAuthentication.RedirectFromLoginPage(username, true);
}
else { // not authenticated. do something }

vb.net

If FormsAuthentication.Authenticate(username, password) Then
    FormsAuthentication.SetAuthCookie(username, true)
    FormsAuthentication.RedirectFromLoginPage(username, true)
Else
    ' not authenticated. do something.
End If

For this to work you will need to import/using System.Web.Security. The true value tells your authentication to set a persistent cookie value.

独木成林 2024-12-14 21:03:27

如果您使用SQL Server 作为数据库,最简单的方法是使用ASP.NET 成员资格 提供程序。通过使用它,您将能够以有效的方式验证用户。在这里您可以使用 Aspnet_regsql.exe创建所需的数据库表。关于创建具有会员资格和用户登录的网站有一个很好的解释

希望这会有所帮助

If you are using SQL Server as the database, the easiest way is to use ASP.NET membership provider. By using that you will be able to authenticate user in an effective way. Here you can use Aspnet_regsql.exe to create required batabase tables. There is a good explanation about Creating a Web Site with Membership and User Login

Hope this will help

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文