使用webservice解决多系统登陆问题

首先新建一个空项目project1

添加一个WebForm1

写如下代码

private void Page_Load(object sender, System.EventArgs e)
{
if(Session["UserID"] != null)
{
this.Response.Write(Session["UserName"].ToString());
}
else
{
this.Response.Write("你输入的用户名或密码不正确!");
}
}

在项目名称上点又键,填加一个新webservie Login.asmx

代码文件如下

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;

namespace WorkFlow
{
///

1<summary>   
2/// Login 的摘要说明。   
3/// </summary>

public class Login : System.Web.Services.WebService
{
WorkFlowWebUI.PortalLogin.FrameworkService loginService = new WorkFlowWebUI.PortalLogin.FrameworkService();
public Login()
{
//CODEGEN:该调用是 ASP.NET Web 服务设计器所必需的
InitializeComponent();
}

#region Component Designer generated code

//Web 服务设计器所必需的
private IContainer components = null;

///

1<summary>   
2/// 设计器支持所需的方法 - 不要使用代码编辑器修改   
3/// 此方法的内容。   
4/// </summary>

private void InitializeComponent()
{
}

///

1<summary>   
2/// 清理所有正在使用的资源。   
3/// </summary>

protected override void Dispose( bool disposing )
{
if(disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
#endregion

[WebMethod(EnableSession=true)]
public bool LoginMethod(string userName,string password)
{
if(userName == "admin" & password== "admin")
{
Session["userName"] = "admin"

return true;

}

return false;
}
}}

再建一个新web项目,WebProject1

添加Login的web引用,并在webForm1中调用LoginMethod,如果返回值为true重定向到project1的WebForm1.aspx

这里需要注意两点

一:在webService的特性里面需要加入(EnableSession=true)的描述

二:如果你是现在已经有的web项目将不允许你向其中添加新的webservice,这时候你要先在其它位置建立一个webservie文件,然后在你的项目里面添加这个现有文件就可以了。

写的不好,请各位原谅

Published At
Categories with Web编程
Tagged with
comments powered by Disqus