先向各位拜个年!!!问题如下:有两个程序,(.net,c#,b/s)都需要登录后进入主界面,登录时记录登录用户的ID在Session里。现在登录了A程序后,想不用再次登录,直接进入B程序,两个程序都用Session[user_id]记录当前登录用户现在如何才能在A程序中通过点一个按钮就直接进入B程序的主界面?比较面,如果方法麻烦的话请尽可能介绍的详细点,谢谢了!

解决方案 »

  1.   

    不是很明白你的意思,给你个参考:你登录B程序主界面前是不是要进行判断,是否session里有相应的值,那在点击A中的按钮前把相应的判断条件直接赋于符合要求的值,这样不就可以直接进去了吗?
      

  2.   

    进入B程序后,打开各个页面时都会进行权限判断,看当前用户是否有访问该页面的权限,需要用到Session[user_id]的值。现在直接从A程序点按钮后进入B程序后,提示Session[user_id]为空
      

  3.   

    在B程序中设置一个隐藏的网页, 比如 HiddenLogMeIn.aspx 然后在A程序中可以执行 Response.Redirect ("http://server/Application_B/hiddenLogMeIn.aspx?username=username&password=somepasssword");然后在 在B中的hiddenLogMeIn.aspx中进行处理程序BLogin (登陆窗口) -> hiddenLogMeIn.aspx  
     
                            ^
    程序A   ----------------|
    比如程序B中Login.aspxbtnLogin_Click()
    {
       string username = txtUsername.Text;
       string password = txtPassword.Text;
       Response.Redirect ("hiddenLogMeIn.aspx?username=" + username + "&password=" + password);
    }说白了, 就是在程序B中, 将登录的界面和权限验证给分开就可以了
      

  4.   

    这样恐怕不行,B程序中的每一个页面都有权限判断没办法在A程序跳转到B程序时指定B程序的Session吗?或者能不能来个B程序的模拟登录………………
      

  5.   

    HiddenLogMeIn 不要有权限判断, HiddenLogMeIn是用来判断用户的身份, 然后赋值给Session的, 比如说: 你会在用户登录的页面上判断权限么? 当然不会, 如果在用户输入用户名和密码之前判断权限, 所有的用户都不能进入系统的
      

  6.   

    把User Boundary Layer 和 Business Logic Layer 分开, 程序才比较 Flexible 啊
      

  7.   

    楼上,啥没一个好的啊,呵呵。断剑残影,再请教一下,A程序在A目录下,B程序在B目录下,A要直接Response.Redirect到B程序的页面,路径怎么指定呢?
    就是下面这个路径:
    Response.Redirect   ("http://server/Application_B/hiddenLogMeIn.aspx?username=username&password=somepasssword"); 
      

  8.   

    Sorry for my typing in English, but I do not have Chinese IME here.Yes, you are right, even in Application A, you can use 
    Response.Redirect       ("http://server/Application_B/hiddenLogMeIn.aspx?username=username&password=somepasssword"); to redirect to B. Normally we put the text indicate where Application_B (the folder which holds B application) is in the config file.
      

  9.   

    在 B程序里查看SEEION的值.如果有直接登录.
    肯定要一个判断的.
      

  10.   

    谢谢各位朋友的指点,尤其是“断剑残影,风语龙渊!”。
    这就结贴。顺便再问最后一个问题,Response.Redirect   ("http://server/Application_B/hiddenLogMeIn.aspx?username=username&password=somepasssword"); 这样在转到B程序时需要A系统的登录密码。在A系统登录时把密码保存在Session里,以便传递,这样做安全吗?