如何让用户只能从登陆页登陆后才能进入? 如上,比如公司OA,这样的,用户不登陆就无法进入,如果从其他页面访问,会强行转到登陆首页。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在page_load里面判断是否登陆了.没有就自动转到登陆页面 每个页面都判断是否有登陆用户信息,session保存,如果没有,则强制跳转到登陆画面。 web的验证方式有很多种,这是做mis的基础,lz先看些资料.学习一样. 用户登录后给加个session在页面的page_load里面判断session是否存在 是的 session如果没登陆,直接跳到登陆页面 其实只判断Session是不够安全的,一个页面转向就能把自己的 Session移到你的网页上了。感觉还是 Form好些。 1。户不登陆就无法进入,如果从其他页面访问,会强行转到登陆首页=========无论是基于 Session,Cookies 或者 Forms 验证,最终实现的效果豆是要这样的2。SessionPage_Load(object sender, EventArgs e) { if(Session["IsLogon"] == null) { Response.Redirect("login.aspx");}}3。ASP.NEt 建议使用 Forms 验证http://msdn2.microsoft.com/zh-cn/library/9wff0kyh(VS.80).aspx 以前在书上看到过,只要在web.config里面加进一些代码就可以实现 用户一定要先登陆登陆页后才能进入了 。不过现在忘了是加什么和怎么加了。 比较简单的办法肯定是使用form验证,建议楼主看看相关的参考书 Forms验证,并设置登录页面,当验证失败后自动跳转至登录页面,so... "这种问题不应该是一个从事OA开发的人员问的"确实,如果连这都不知道还做OA,这能使用吗? 启用Form认证了,在根目录的web.config中进行设置! 登录页面:Session["UserName"] = username; Session["Password"] = password;要判断的页面 放在pageloadif (Session["UserName"] == null || Session["Password"] == null) { Response.Redirect(turning); } 为什么session会经常丢失?用session做判断,不好,经常用着就被强行返回到登陆页了,session时间设置了很久的.我寻求的是别的方法,在web.config里配置,不用session 最简单的方法就是用表单认证的方式,要在web.config设置启示也门的url 这样无论用户想从那个页面登陆 都必须先登录你设置的url 地址,通过资格认证后才能进入用户想进入的页面。 启用Form认证!最好的解决办法 web.config里可以设置,也可以在页面的page_load里验证登录信息后未通过认证直接重新引导登录页。 在web.config里面开了session,用session比较好控制 我的做项目里是这样弄的protected User userInfo = null; protected int iManagerId; protected string sManagerName = ""; protected void Page_Load(object sender, EventArgs e) { userInfo = (User)UserSecurity.isUserOnline(); if (userInfo == null) { Response.Redirect("../reLoad.htm"); } else { iManagerId = userInfo.getManagerId(); sManagerName = userInfo.getManagerName(); } if (!IsPostBack) { Load_Form(); } protected void Application_AuthenticateRequest(Object sender, EventArgs e) { try { UserMgrIdentity identity = UMOperation.CheckUserSession(); if(null!=identity) { Context.User = Principal.GetPrincipal(identity); log.Info("UserMgrIdentity Got:" + identity.UserId); } else { log.Warn("UserMgrIdentity after checksession Is Null!"); } } catch(CheckSessionException ex) { log.Warn("Checksession Failed:" + ex.Message); string logonPageUrl = Request.ApplicationPath + Globe.LOGIN_PAGE; if(string.Compare(Request.Path,logonPageUrl,true)!=0 && Request.Path.IndexOf("Public/")==-1) { string url = Request.Url.ToString().Replace('&','*'); Response.Redirect(logonPageUrl + "?BackUrl=" + url); } } }在任何页面没有登陆都可以跳转到登陆页面。并且在登陆后可以返回原来请求的页面/这个是写在global里的 恩 就是用session存值 然后做比较!! 启用Form认证!在webconfig里配置 session是一个很简单的解决方法,且不需要什么特别配制 Forms验证,并设置登录页面,当验证失败后自动跳转至登录页面. 做个公共类,所有的页面继承这个类,在公共类里判断session的值,或者是用Forms验证 webconfig-->from认证 结合session判断! 要是游客能访问的页太多了,form认证就麻烦了, 还是session好些 个人关点 我就是用SESSION做的,很方便的,用户登录后给加个session值保存起来在页面的page_load里面判断session是否存在每个页面都判断是否有登陆用户信息如果没有,则强制跳转到登陆画面。 如果登陆了就保存一个Session值,在其他页面的page_load里加上一个判断,if(Session["name"] == null){ //跳转到登陆页面;} 建议自己些一个HttpHandler,在WebConfig里面配置一下,这样可以灵活控制到每一个页面。 所有页面引用MasterPage在 MasterPage的Page_Load里加Session验证 母版页只有2.0才有哇,不知道是Form好还是Session好 在配置文件里面把验证方式改为form验证,然后在登录按钮中进行设置form验证的票据就可以,可以搜一下,网上很多现成的代码。 在 Global.asax.cs 中的 Application_BeginRequest 中判断 Session这个应该是最小改动了。 http://community.csdn.net/Expert/topic/5638/5638572.xml?temp=.4596216 推荐用jiwz(日)的方法也可以新建一个judge.aspx在page_load中加入:if (Session["UserName"] == null || Session["UserName"] == ""){ Response.Redirect("index.aspx");}然后每一页的page_load中加入:if(!Page.IsPostBack){ Server.Execute("judge.aspx");} Session判断比如if (Session["UserName"] == null) { Response.Write("<script>alert ('1221212');window.location='default.aspx'</script>"); Response.End(); } ASP.net中Gridview模板列Button点击出现网页无法显示的问题 如何在winform窗体加载完以后再执行某个事件? 初学求解:单引号和双引号,以及编号问题,谢谢 统计图 图像的格式问题 支持的吼一声,呵呵 多个项目的解决方案中 文件调用的问题 window.open 和,showMouldDialog的问题 url重写问题! 急急急 用File Field控件必须选择一个文件,能不能不选择文件,直接自己在弹出的选择对话框中输入文件名. datagrid中模版列中寻找控件的问题 javascript验证正确邮件地址,请教js高手. 代码 问题急
在页面的page_load里面判断session是否存在
如果没登陆,直接跳到登陆页面
感觉还是 Form好些。
户不登陆就无法进入,如果从其他页面访问,会强行转到登陆首页
=========
无论是基于 Session,Cookies 或者 Forms 验证,最终实现的效果豆是要这样的2。
SessionPage_Load(object sender, EventArgs e) {
if(Session["IsLogon"] == null) {
Response.Redirect("login.aspx");
}
}3。
ASP.NEt 建议使用 Forms 验证
http://msdn2.microsoft.com/zh-cn/library/9wff0kyh(VS.80).aspx
确实,如果连这都不知道还做OA,这能使用吗?
Session["UserName"] = username;
Session["Password"] = password;要判断的页面 放在pageload
if (Session["UserName"] == null || Session["Password"] == null)
{
Response.Redirect(turning);
}
在web.config里配置,不用session
protected User userInfo = null;
protected int iManagerId;
protected string sManagerName = "";
protected void Page_Load(object sender, EventArgs e)
{
userInfo = (User)UserSecurity.isUserOnline();
if (userInfo == null)
{
Response.Redirect("../reLoad.htm");
}
else
{
iManagerId = userInfo.getManagerId();
sManagerName = userInfo.getManagerName();
}
if (!IsPostBack)
{
Load_Form();
}
{
try
{
UserMgrIdentity identity = UMOperation.CheckUserSession();
if(null!=identity)
{
Context.User = Principal.GetPrincipal(identity);
log.Info("UserMgrIdentity Got:" + identity.UserId);
}
else
{
log.Warn("UserMgrIdentity after checksession Is Null!");
}
}
catch(CheckSessionException ex)
{
log.Warn("Checksession Failed:" + ex.Message);
string logonPageUrl = Request.ApplicationPath + Globe.LOGIN_PAGE;
if(string.Compare(Request.Path,logonPageUrl,true)!=0 && Request.Path.IndexOf("Public/")==-1)
{
string url = Request.Url.ToString().Replace('&','*');
Response.Redirect(logonPageUrl + "?BackUrl=" + url);
}
}
}
在任何页面没有登陆都可以跳转到登陆页面。并且在登陆后可以返回原来请求的页面/这个是写在global里的
在webconfig里配置
个人关点
用户登录后给加个session值保存起来
在页面的page_load里面判断session是否存在
每个页面都判断是否有登陆用户信息如果没有,则强制跳转到登陆画面。
if(Session["name"] == null)
{
//跳转到登陆页面;
}
在page_load中加入:
if (Session["UserName"] == null || Session["UserName"] == "")
{
Response.Redirect("index.aspx");
}
然后每一页的page_load中加入:
if(!Page.IsPostBack)
{
Server.Execute("judge.aspx");
}
{
Response.Write("<script>alert ('1221212');window.location='default.aspx'</script>");
Response.End();
}