获取登录域帐号信息方式之 —-IIS(VB)

前言

java web 项目如何获取客户端登录帐号信息(用于SSO或其他)

之前总结过一篇在Java 的Web 项目中获取客户端帐号信息的文章。参见以上链接的内容。

除了那些方式之外, 还可以使用IIS 和VB  来获取客户端域帐号信息。

(这里介绍的使用场景还是在Java web 项目中使用IIS 和VB 的方式来获取域帐号信息。)

实际使用场景

环境状况

1. Java web 项目, 部署在 机器A 的tomcat 上(不在域)

2. IIS 服务器, 在机器B 上(在域上)

3. 客户端机器都在域内,客户端访问Java web 项目.

要实现的功能是:

在Java web 项目中, 可以自动获取客户端的域登录用户名。

实现思路

实现的思路就是使用IIS 和VB ,

web project root url:  http://webprjurl

IIS root url: http://iisrooturl

1. 在IIS 中建立一个  aspx 和 aspx.vb 文件, 用于获取  客户端帐号。

以 response.write 的方式 一个 iframe, src 为 http://webprjurl/ADLoginFrame.jsp?username=XX

2.  在web 项目的jsp 文件中嵌入一个 iframe, iframe 的src 是 以上的IIS的url

http://iisrooturl/getADUser.aspx

3.  在 jsp 的  body  的onload 中, 读取 iframe的src, 解析出  username

特别需要说明的部分:

你可能会问, 在以上步骤 1 中,既然已经取得帐号信息, 是否之间调用iframe parent 的js  是否就可以设置帐号信息了呢?

为什么还要整两个 iframe?

原因是: IIS 和 Web 可能在不同的域下,使用iframe 的parent 的方式就相当于在IIS 中访问tomcat , 涉及到js 的跨域访问,是会别禁止掉的。

所以使用两个iframe 避免跨域访问出现的问题。

实际例子代码:

1.  IIS 中 getADUser.aspx 和 getADUser.aspx.vb

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="getADUser.aspx.vb" Inherits="AdminADUser" %>

Partial Class AdminADUser
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

		Me.Response.Write("<iframe src=‘http://webprjurl/ADLoginFrame.jsp?username="+Request.ServerVariables("LOGON_USER")+"‘></iframe>")
		Me.Response.end

    End Sub
End Class

2. Java web 中 ADLoginFrame.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script>
window.onload = function(){
    var text = window.location.href.split(‘=‘)[1]
    //console.log(parent.parent)
    parent.parent.setADDomainUser(text);
}
</script>
</head>
<body>

</body>
</html>

3. Java web 中的  getLoginInfo.jsp

这是调用的主页面, 上面window.onload 中的 parent.parent 对应到的就是这个页面。

<body>
<iframe  id="loginADFrame" src="http://iisurl/getADUser.aspx"></iframe>
</body>

总结

以上方法在IE 和 Chrome 中使用是正常的,但是在firefox 下,会弹出输入域帐号的信息的对话框, 这个问题在之前的一篇也提到过。

获取登录域帐号信息方式之 —-IIS(VB)

时间: 2024-08-27 06:49:50

获取登录域帐号信息方式之 —-IIS(VB)的相关文章

使用Acctinfo.dll了解更多AD用户帐号信息

说明 Acctinfo.dll是一个动态链接库文件,注册这个动态链接库文件之后,管理员可以通过使用“Active Directory用户和计算机”管理控制台查看用户属性的时候,增加一个“Additional Account Info”选项卡.这个选项卡可以让管理员查看Active Directory中的一些高级信息,例如:用户上次修改密码时间.用户帐户上次登录时间等.使用“Additional Account Info”选项卡查看信息,主要是出于以下两个方面的需求. 在某些情况下,部分信息没有被

windows系统 中 如何获取当前帐号的 SID 值

有时要设定权限时,或编程时 需要查看个人windows帐号的 SID代码,分享一个简单的方法. cmd 执行: whoami 查看当前登陆的用户 whoami /user 查看当前登陆的用户及SID号 如上图,后面SID全出来了,可以复制出来,非常方便的小技巧. 如觉得好的话,可以设定如下网址导航为主页或点击一下,支持作者,非常感谢. http://www.2345.com/?k279247

常见无线路由器的缺省密码和帐号信息

神州数码——用户名为adsl,密码为adsl1234 华为——用户名和密码都为admin dd-wrt——用户名:root 密码:admin moto——用户名:admin 密码:motorola 艾玛——用户名:admin 密码:admin 用户名:szim 密码:szim tp-link——用户名admin,密码admin 实达——用户名:user 密码:password或者用户名:root 密码:grouter 全向QL168010.0.0.2,用户名admin密码是qxcomm1680,

免费VPN帐号 送送送

VPN的英文全称是"Virtual Private Network",翻译过来就是"虚拟专用网络".VPN是通过特殊的加密的通讯协议在连接在互联网上的位于不同地方的两个或多个内部网之间建立一条专有的通讯线路,通常的VPN都是企业内部使用或者商业收费的,其价格相对于SSH来说较高一些,但也有免费的VPN可以使用. VPN可以在公用的互联网建立一个安全的连接,达到安全使用互联网的目的,VPN(虚拟专用网)可以帮助远程用户.公司分支机构.商业伙伴及供应商同公司的内部网建立

IUSR_computername匿名访问帐号

在IIS6中删除该帐号/修改其密码,则客户端不能匿名访问所发布的网站,而在IIS5开启允许匿名帐户访问的地方有一个选项"允许IIS控制密码",这个选项作用就是当用户修改帐户密码事IIS可以自动同步,也就是说修改帐户密码后,网站仍可正常发布. 一般用户密码的存放位置sam数据库(工作组环境)或活动目录(域环境) 而这个帐号还同时存放在注册表和iis源数据库中,所以如果要改这个帐号的密码,要同时修改这三个地方才能使之生效.(事实上完全没有必要这样做,这两个帐号的密码很复杂,很强很强的强类型

记浏览器帐号登录插件开发遇到的问题

背景 由于负责公司帐号相关工作,经常和各个业务有着千丝万缕的关系.最近,一个业务向我了解了一下帐号登录相关的问题,突然脑子里萌发了一个想法:为什么我作为负责帐号的前端,不自己实现一个方便业务的插件呢?于是乎,开始准备开发一个内部使用的chrome浏览器插件,这个插件的功能是:帮助开发者或者测试快速切换帐号进行登录,只关注功能相关的事情,并且展示了帐号相关信息设置或者修改的入口,加快开发和测试的效率. 开始准备 由于这个想法就是个人的想法,并结合了业务之前反馈的有的问题.就自己把主要功能点和应该怎

陈松松:新注册视频平台帐号,养号30天执行方法

每个视频,都是你的金牌业务员 这是我写的第18篇视频营销原创文章 与其搜索十年,不如花一年的时间学习,去赚9年的高薪! 规则更新块,视频流量越来越精准 现在视频平台规则更新越来越块! 原来大家都可以批量帐号操作视频营销,现在很难行得通了. 想要上传视频,必须验证手机号,而且现在手机号必须实名,并且每个人最多是5个手机号,想要批量操作,难度比以前大的太多了,可想,在其他细节方面,那就更严格了. 所以,现在操作视频营销就不能以前那种吊儿郎当的心态去操作,必须根据视频平台现有规则,用最好的方法,你才能

鸟哥的Linux私房菜7-------14章 Linux帐号管理与ACL权限设置

1. 用户表示符UID与GID /etc/passwd文件结构: 有几行就代表有几个帐号在你的系统里 每一行用:分割,一共7个字段. 1.帐号名称 2.密码:早起unix用,现在把密码数据放在/etc/shadow文件中了,这里用x表示 3.UID:0代表系统管理员. 1-499:系统帐号 500-65535:一般用户用 4.GID:     /etc/group有关 5.用户信息说明,使用finger时,这个字段能提供很多信息. 6.主文件夹 7.Shell:用户登录系统后取得的一个shell

iOS/iphone开发如何为苹果开发者帐号APPID续费

原文地址:iOS/iphone开发如何为苹果开发者帐号APPID续费作者:陈双超_群雄 其实相当的简单,这篇内容是给财务看的,有的地方连我自己看了都感觉有点...但如果不详细,她又要为难我,所以我就当她0智商 1.     打开 https://developer.apple.com/account/overview.action 2.(如何查看到自己的证书哪天到期,就是具体日起,这个的话平时是看不到的只有在最后60天的时候会提醒你.) 3.4.5.6.7.为了避免财务输入麻烦或者她输入出错引起