SystemSecurity

using System;
using System.Data;
using System.Data.SqlClient;
using SysUtility;
using SysUtility.Utils;
using SysUtility.BaseEntity;
using SysUtility.WebControls;
using Entities;

namespace Business.Manager
{
 /// <summary>
 /// SysSecurity 的摘要说明。
 /// </summary>
 public class SystemSecurity : AdminBase
 {
  /// <summary>
  /// 登录系统
  /// </summary>
  /// <param name="LoginName">登录名称</param>
  /// <param name="Password">登录密码</param>
  /// <returns>登录后的用户相关信息</returns>
  public static UserInfo Login(string LoginName, string Password)
  {
   UsersEntity entity = new UsersEntity();
   entity.LoginName = LoginName;
   entity.IsDeleted = false;
   DataTable result = adminHelper.Select(entity);
   if ( result != null && result.Rows.Count == 1 )
   {
    ConvertUtil.RowToEntity(result, entity);
    // 验证密码
    HashProvider hashProvider = new HashProvider();
    bool bresult = hashProvider.CompareHash(Password, entity.Password);
    if ( bresult)
    {
     UserInfo objUser = new UserInfo();
     objUser.BaseInfo = entity;
     objUser.Tabs = SysAdmin.GetTabsByUserId(entity.UserId.ToString());
     objUser.Roles = SysAdmin.GetRoles(entity.UserId.ToString());
     objUser.Profile = null;
     objUser.CusId = -1;
     objUser.GroupId = -1;
     objUser.GroupCusId = -1;
     if ( entity.UserType == KeyConsts.USERTYPE_STAFFER )
     {
      StafferEntity staffer = new StafferEntity();
      staffer.Id = entity.UserId;
      ConvertUtil.FillEntity(staffer);
      objUser.CusId = staffer.CusId;
      CustomerEntity customer = new CustomerEntity();
      customer.Id = objUser.CusId;
      ConvertUtil.FillEntity(customer);
      objUser.GroupId = customer.GroupId;

      GroupsEntity group = new GroupsEntity();
      group.Id = objUser.GroupId;
      ConvertUtil.FillEntity(group);
      objUser.GroupCusId = group.CusId;
     }
     // TODO:*******+++
     return objUser;
    }
   }
   throw new LoginException( "无效的登录名或密码!");
  }
  /// <summary>
  /// 注销用户
  /// </summary>
  /// <param name="LoginName">登录名称</param>
  /// <param name="Password">登录密码</param>
  public static void Logout(string LoginName, string Password)
  {
   // TODO:*******+++
  }
 }
}

posted on 2005-09-18 22:59  刘余学  阅读(148)  评论(0)    收藏  举报

导航