所有页面都应保持人员用户名和密码, [英] person username and password should be maintain in session for all the pages,

查看:99
本文介绍了所有页面都应保持人员用户名和密码,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我正在申请员工详细信息。如果一个员工登录他的网站,那个人的用户名和密码应该在会话中维护所有页面,怎么办才能帮帮我。

解决方案

亲爱的安吉丽娜,



看看你的问题,我相信你以前还没有完成这样的任务。用户管理是应用程序的重要组成部分,必须仔细实施,因为系统攻击可能会花费很多。



ASP.NET从版本2开始允许使用就绪使用会员提供者:



http:/ /msdn.microsoft.com/en-us/library/ff648345.aspx [ ^ ]



http://msdn.microsoft.com/en-us/library/yh26yfzy(v=vs.100).aspx [ ^ ]



遵循这些指南和方法将使您的应用程序设计更加健壮。

演示也可以在上面的文章的旁边找到。



我相信有几篇关于a的文章代码项目。


请检查在整个asp.net应用程序中保持一个Employee对象 [ ^ ]。



如果你想更多地探讨会话,那就去找下面的文章。

1. 在ASP.NET中探索会话 [ ^ ]。

2. 了解ASP.NET中的会话管理技术 [ ^ ]。



谢谢......

如果你只想在会话中存储登录名,然后执行以下操作

会话( < span class =code-string> username)= Login1.UserName 





如果你想查看登录数据库的名称

将一个登录控件拖放到页面上





 受保护的  Sub  Page_Load( ByVal  sender 作为 对象 ByVal  e < span class =code-keyword> As  System.EventArgs)句柄 。载荷
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Login1.Focus()
结束 Sub

受保护的 Sub Login1_LoggedIn(发件人 As 对象,e As System.EventArgs)句柄 Login1.LoggedIn
' 会话(用户名)= Login1.UserName
validateuser()
结束 Sub

Sub validateuser()
尝试
sqlcon = OleDbConnection(constr)
sqlcon.Open()
sqlcmd = OleDbCommand( SELECT COUNT(*)FROM userrole WHERE username =' + Login1.UserName + ' AND username = ' + Login1.Password +',sqlcon)
retval = sqlcmd.ExecuteScalar
如果 retval = 1 然后
sqlcmd = OleDbCommand( SELECT角色,emailid FROM userrole WHERE username =' + Login1.UserName + ',sqlcon)
sqlrdr = sqlcmd.ExecuteReader()
sqlrdr.Read()
Session( username)= Login1.UserName
getrole =(sqlrdr.Item( role))
会话( userrole)= getrole
getemail =(sqlrdr.Item ( emailid))
Session( reqemailid)= getemail
Response.Redirect( 〜\Home.aspx
' 响应。写(你是有效的&会话(用户名)& 有角色& getrole)
否则
' Response.Redirect(〜\Default.aspx)
' lbl_msg.Text =(无效登录attmept)

结束 如果
Catch ex As 例外
lbl_msg.Text = ex.Message .ToString
结束 尝试
结束 Sub


hi all,
i am working on a application for employee details. if an employee login to his site, that person username and password should be maintain in session for all the pages, how can it be done please help me.

解决方案

Dear Angelina,

Looking at your question I believe you haven''t completed such task previously. User management is important part of your application, and must be implemented veruy carefully, as system hack might cost a lot.

ASP.NET starting from version 2 allows using ready to use membership providers:

http://msdn.microsoft.com/en-us/library/ff648345.aspx[^]

http://msdn.microsoft.com/en-us/library/yh26yfzy(v=vs.100).aspx[^]

Following these guides and approaches will make your application design more robust.
Demos also could be found on asides of articles above.

I believe there several articles on a codeproject too.


Please check Keeping an Employee object alive throughout the asp.net app[^].

And if you want to explore more for session, then go for the below articles.
1. Exploring Session in ASP.NET[^].
2. Understanding Session Management Techniques in ASP.NET[^].

Thanks...


If you would want to just store the login name in the session then do the below

Session("username") = Login1.UserName



if you would want to check the login name against a database
Drag a drop a Login control onto the page


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       Response.Cache.SetCacheability(HttpCacheability.NoCache)
       Login1.Focus()
   End Sub

   Protected Sub Login1_LoggedIn(sender As Object, e As System.EventArgs) Handles Login1.LoggedIn
       ' Session("username") = Login1.UserName
       validateuser()
   End Sub

Sub validateuser()
       Try
           sqlcon = New OleDbConnection(constr)
           sqlcon.Open()
           sqlcmd = New OleDbCommand("SELECT COUNT(*) FROM userrole WHERE username = '" + Login1.UserName + "'" AND username = '" + Login1.Password + "'", sqlcon)
           retval = sqlcmd.ExecuteScalar
           If retval = 1 Then
               sqlcmd = New OleDbCommand("SELECT role, emailid FROM userrole WHERE username = '" + Login1.UserName + "'", sqlcon)
               sqlrdr = sqlcmd.ExecuteReader()
               sqlrdr.Read()
               Session("username") = Login1.UserName
               getrole = (sqlrdr.Item("role"))
               Session("userrole") = getrole
               getemail = (sqlrdr.Item("emailid"))
               Session("reqemailid") = getemail
               Response.Redirect("~\Home.aspx")
               'Response.Write("you are valid " & Session("username") & " with role " & getrole)
           Else
               'Response.Redirect("~\Default.aspx")
               'lbl_msg.Text = ("Invalid login attmept")

           End If
       Catch ex As Exception
           lbl_msg.Text = ex.Message.ToString
       End Try
   End Sub


这篇关于所有页面都应保持人员用户名和密码,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆