- 浏览: 433580 次
- 性别:
- 来自: 唐山
文章分类
最新评论
-
hautbbs:
谢谢分享!
ASP.NET 导出Excel 和csv -
hautbbs:
感谢分享!
ASP.NET 导出Excel乱码的终极解决 -
wyf:
zcl920 写道只能说 看不懂。要发就发全 取一段出来 有什 ...
图片上绘制文字换行处理 -
zcl920:
只能说 看不懂。要发就发全 取一段出来 有什么用。
图片上绘制文字换行处理 -
380086154:
有用,谢谢。
js比较日期
c#源码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Security.Principal;
using System.Runtime.InteropServices;
using System.Data.SqlClient;
using System.Web.SessionState;
public partial class login : System.Web.UI.Page
{
String str_userId = "";
String str_userName = "";
String str_name = "";
String str_email = "";
string str_shenfen = "";
public const int LOGON32_LOGON_INTERACTIVE = 2;
public const int LOGON32_PROVIDER_DEFAULT = 0;
WindowsImpersonationContext impersonationContext;
[DllImport("advapi32.dll")]
public static extern int LogonUserA(String lpszUserName,
String lpszDomain,
String lpszPassword,
int dwLogonType,
int dwLogonProvider,
ref IntPtr phToken);
[DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int DuplicateToken(IntPtr hToken,
int impersonationLevel, ref IntPtr hNewToken);
[DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool RevertToSelf();
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern bool CloseHandle(IntPtr handle);
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnok_Click(object sender, EventArgs e)
{
///如果页面输入合法
if (Page.IsValid == true)
{ ///定义类并获取用户的登陆信息
// if (impersonateValidUser(Convert.ToString(txteid.Text.Trim()), "your domain", Convert.ToString(txtpsw.Text.Trim())))
// {
IISAuthUser = Convert.ToString(txteid.Text.Trim());
IUser user = new User();
SqlDataReader recu = user.GetUserLoginL(IISAuthUser);
///判断用户是否合法
if (recu.Read())
{
str_userId = recu["UserID"].ToString();
str_userName = recu["UserName"].ToString();
str_name = recu["Name"].ToString();
str_email = recu["email"].ToString();
str_shenfen = recu["shenfen"].ToString();
Label1.Text = "欢迎您, " + str_name;
}
recu.Close();
///验证用户合法性,并跳转到系统平台
if ((str_userId != null) && (str_userId != ""))
{
Session["UserID"] = str_userId;
Session["UserName"] = str_userName;
Session["Name"] = str_name;
Session["email"] = str_email;
Session["shenfen"] = str_shenfen;
switch (Convert.ToString(Session["shenfen"]))
{
case "staffer":
Session["title"] = "Fill In Purchase Order";
Response.Redirect("~/main.aspx?gl=apply");
break;
default:
Session["title"] = "Approve Purchase Order";
Response.Redirect("~/approve.aspx");
break;
}
}
else
{
Label1.Text = "无授权用户,请联系IT部开通!";
}
//
}
else
{
Label1.Text = "无网络帐号,请联系IT部申请开通!";
}
// }
}
private bool impersonateValidUser(String userName, String domain, String password)
{
WindowsIdentity tempWindowsIdentity;
IntPtr token = IntPtr.Zero;
IntPtr tokenDuplicate = IntPtr.Zero;
if (RevertToSelf())
{
if (LogonUserA(userName, domain, password, LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT, ref token) != 0)
{
if (DuplicateToken(token, 2, ref tokenDuplicate) != 0)
{
tempWindowsIdentity = new WindowsIdentity(tokenDuplicate);
impersonationContext = tempWindowsIdentity.Impersonate();
if (impersonationContext != null)
{
CloseHandle(token);
CloseHandle(tokenDuplicate);
return true;
}
}
}
}
if (token != IntPtr.Zero)
CloseHandle(token);
if (tokenDuplicate != IntPtr.Zero)
CloseHandle(tokenDuplicate);
return false;
}
private void undoImpersonation()
{
impersonationContext.Undo();
}
}
发表评论
-
登录时记住用户名密码的实现方式
2019-06-12 15:11 3023登录的时候记住用户 ... -
CAS 实现单点登录 .NET MVC
2016-05-24 17:14 1119http://www.cnblogs.com/woxpp/p ... -
.NET开发邮件发送功能的全面教程(含邮件组件源码)
2015-03-31 09:43 1162原文地址:http://www.cnblogs.com/he ... -
开发Web组合
2015-01-04 11:39 6051、数据库操作 ORM-Dapper 2、前台界面布局采 ... -
基于 Bootstrap 构建的网站
2014-12-14 14:12 629文档,下载地址:http://v3.bootcss.com ... -
iis8 默认不支持svc解决方法
2014-09-18 18:57 777以下内容对于使用WIN2012 部署V9的时候使用。 ... -
C# 连接Oracle(利用ODP.net,不安装oracle客户端)
2014-07-11 09:37 1689C# 连接Oracle(利用ODP.net,不安装oracl ... -
C# Attribute 特性,过期特性
2014-05-27 15:18 1837通过下列过程将属性应用到代码元素。 通过从 .NE ... -
.NET画实时直方图
2011-12-30 09:37 909using System; using System.Col ... -
设置combobx选中项
2011-12-21 15:20 1023cbRole.SelectedIndex = cbRole.I ... -
文档树状结构化目录管理方法
2011-12-20 09:50 2158本文适用于附件(各类文档、图片和压缩包等,下同)比较多的 ... -
.StringTemplate替换模板
2011-11-03 10:19 1240官方下载 www.StringTemplate. ... -
WCF-IErrorHandler
2011-10-11 16:30 1039使用 IErrorHandler 接口,我们可以更深入地 ... -
ADODB.Stream instead of Scripting.FileSystemObject.
2011-07-04 08:55 1237In a Silverlight 4 OOB App (eve ... -
Scripting.FileSystemObject对象的详细技巧指南
2011-07-03 23:39 1042Scripting.FileSystemObject对象的 ... -
Stream 和 byte[] 之间的转换
2011-07-02 16:52 1063/* - - - - - - - - - - - - - ... -
常用正则表达式
2011-06-15 20:17 789正则表达式用于字符 ... -
DynamicMethod 类
2011-05-11 22:51 1154public delegate String MyMetho ... -
一个通用的快速反射方法(A General Fast Method Invoker)
2011-04-13 22:01 1520普通反射方法 MethodInfo methodIn ... -
C#操作IIS(转)可以写一个工具自己配置网站
2011-03-24 21:08 2263using System; using System.Dir ...
相关推荐
这个压缩包中的资源提供了丰富的C#基类源码,涵盖了ASP.NET类库、Active Directory(AD)用户和组的读取、通用(Common)类库、.NET基础类的全面集合、SqlHelper数据库操作基类以及字符串加密方法。下面我们将详细探讨...
本文将深入探讨如何使用C#编程语言来读取AD域中的组织结构和用户信息。C#提供了丰富的类库,如System.DirectoryServices命名空间,使得与AD进行交互变得相对简单。 首先,我们需要理解AD的组织结构。AD域是基于树形...
第3章 ASP.NET 2.0常用服务器控件 3.1 使用基本控件 3.1.1 TextBox控件的应用 3.1.2 Label控件的应用 3.1.3 DropDownList和ListBox控件应用 3.1.4 CheckBOX和CheckBoxList控件应用 3.1.5 RadioButton和...
它允许开发者利用C#等语言编写服务器端代码,并通过.NET框架提供丰富的类库支持,简化了Web应用开发过程。ASP.NET提供了多种功能模块,如Web Forms、MVC(Model-View-Controller)和Web API等,满足不同场景下的需求...
其次,`C#读取AD域里用户名或组`涉及到的是Active Directory(AD)服务的交互。AD是一种目录服务,常用于管理网络中的用户、计算机和其他资源。通过`C#`,我们可以利用`System.DirectoryServices`命名空间的类来查询...
本文将深入探讨如何利用Azure Active Directory(Azure AD)和OpenID Connect在ASP.NET Core 2.0框架中实现这一目标。Azure AD是一种云身份管理解决方案,它允许开发人员构建安全的应用程序并连接到全球数百万个组织...
根据给定的文件信息,我们可以深入探讨ASP.NET 2.0简单广告管理系统的实现细节,以及其中涉及到的关键技术点。 ### ASP.NET 2.0框架介绍 ASP.NET 2.0是微软在2005年发布的一个版本,它是.NET Framework的一部分,...
### ASP.NET 2.0 缓存技术详解 #### 一、概述 ASP.NET 2.0中的缓存技术主要用于提升Web应用的性能。当一个网页频繁被访问时,通过缓存整个网页或部分数据,可以显著提高响应速度。本文将详细介绍ASP.NET 2.0中的几...
2. C#读取AD域里用户名或组:在企业环境中,Active Directory(AD)域服务通常用于用户身份验证和权限管理。C#中可以通过`System.DirectoryServices`命名空间与AD交互,获取域中的用户信息或用户所在的组。例如,`...
2. **C#读取AD域里用户名或组**:Active Directory(AD)是Windows操作系统中的目录服务,用于存储和管理网络资源。在C#中,可以使用System.DirectoryServices命名空间的类来与AD交互,如DirectoryEntry和...
收集的C#基类比较全(Common类库SqlHelper基类DotNet基础类大全): 包含有: ASP.NET类库 C#读取AD域里用户名或组 Common类库 DotNet基础类大全 SqlHelper基类 字符串加密
在C#.NET中,可以使用库如iTextSharp或Apache POI来读取PDF,然后将其内容转换成Word文档格式。 5. 异常处理和安全性: 在实现SSO时,应考虑异常处理,确保即使在身份验证过程中发生错误,也能提供适当的反馈。...
这里我们将深入探讨C#基类、ASP.NET中的常用类以及与之相关的字符串加密、SqlHelper基类、DotNet基础类大全、Common类库和AD域(Active Directory)的使用。 首先,C#基类是指C#中的一些基本类型和类,如System....
2. C#读取AD域里用户名或组:Active Directory(AD)是Windows环境下的目录服务,用于存储和管理网络资源。C#提供了System.DirectoryServices命名空间,其中的DirectoryEntry和DirectorySearcher类可用于查询AD域中...
包含C#3.0的所有集成方法、只需调用。注释详细、以及常用的一些第三方控件。 共有ASP.NET类库 C#读取AD域里用户名或组 Common类库 DotNet基础类大全 SqlHelper基类 字符串加密 里面N多的方法。
2. C#读取AD域里用户名或组: 活动目录(Active Directory, AD)是微软的目录服务,用于存储和管理网络资源。C#提供了System.DirectoryServices命名空间,其中的DirectoryEntry和DirectorySearcher类可以用来查询AD...
在IT行业中,C#是一种广泛使用的编程语言,尤其在开发ASP.NET应用程序时。"C#开发常用基类"这个主题涵盖了多个重要的知识点,包括但不限于类库的创建与使用、Active Directory(AD)交互、通用(Common)类库的构建...
在本文中,我们将深入探讨如何使用ASP.NET Core Web API与Azure SQL数据库来构建高效、可靠的RESTful服务。ASP.NET Core Web API是微软提供的一种用于构建HTTP服务的强大框架,而Azure SQL数据库则是云托管的关系型...
应用程序域(AppDomain)是.NET运行时环境的一部分,它为应用程序提供了一个边界清晰的执行环境。每个应用程序域都有自己的加载器、配置和资源管理机制,这有助于隔离应用程序,防止它们相互干扰。CLR(Common ...
2.C#读取AD域里用户名或组 ... 3.Common类库 ... 4.DotNet基础类大全 Chart图形 Cookie&Session&Cache CSV文件转换 DEncrypt DLL FTP操作类 JS Json Mime PDF ResourceManager XML操作类 弹出消息类 ...