Windows SPNEGO 开发小结

经验1:

安装TAM 6.0 policy server 并与Microsoft Active Directory集成时,需要注意这样一点:MS Windows server 2003默认的域安全策略中有"启用密码复杂性"一项,密码最小长度是7位. 而TAM 6.0在安装时要向AD中写入用户,并且给定了一个4位的缺省密码,强度也不高,估计没有混大小写, 于是会安装失败. 所以安装以前需要把 w2k3的"密码复杂性"关掉,并把最小长度设为4位.再安装,OK.为了这个本人整整郁闷了一下午~~~虽然,根据老板的指示,不能在blog上对本公司产品方面做过多评论,但我还是要对Tivoli长太息一番~~~

经验2:

Windows提供的Internet API中只有一个用于修改HTTP header的函数,unfortunately,这个函数对头的大小有限制,稍微长一点的Base 64编码值就放不进去。我用了两天时间来研究这个WinInet API,在最后时刻发现了这个限制,决定放弃这个API。改用亲切的Apache HTTP client,加上JNI调用其他Windows SSPI函数的方案。

经验3:

BASE 64编码算法会自动插入回车符(\n),如果直接把base64编码放到Http头里面会把http头搞乱,因为http协议规定CRLF是一个http头的结束符。需要把编码中的\n滤掉。

SPNEGO-开源 Java 中的集成 Windows 身份验证(单点登录)。 立即下载

相关推荐

cas spnego认证方式(即加ad域的windows主机应用免登录)高可用集群方案(目前来看国内第一份资料,本人探索出来的)

加了ad域的windows电脑,用cas 的spnego可以实现登录电脑后,应用免登录。但是单点存在风险,需要高可用集群,但是国内没有任何相关资料,本人经过重重艰难,自己探索,终于把集群给搞了出来。成果方案作为资料,供大家下载。

认证模式之Spnego模式

Spnego模式是一种由微软提出的使用GSS-API接口的认证模式。它扩展了Kerberos协议,在了解Spnego协议之前必须先了解Kerberos协议,Kerberos协议主要解决身份认证及通信密钥协商问题。它大致的工作流程例如以下: ①client依据自己username向密钥分发中心KDC的身份认证服务AS请求TGS票证。 ②AS生成一个TGS票证、查询相应用户的password,然后通过用户password将TGS票证加密,响应给client。 ③client通过用户password解密TGS票

zhangxiping 2449

Tomcat中访问AD Server的配置方法

使用SPNEGO 基于SSO 通过Tomcat中的配置,实现对AD Server上信息的验证

spnego_通过使用SPNEGO集成Microsoft Windows身份验证

关于本系列 这个由三部分组成的系列文章“使用带有WebSphere Liberty的SAML 2.0进行跨域单点登录”介绍了在混合云环境中使用IBM®Cloud的端到端单点登录(SSO)解决方案。 它说明了如何使用WebSphere®Liberty使云上的Java™EE标准应用程序能够安全地调用私有网络中公开的服务。 在此解决方案中,您将了解如何配置IBM WebSphere Liberty...

cuxiong8996的博客 1969

科技中介服务机构想要提升服务效率,需要哪些数智工具支持?.docx

科技中介服务机构想要提升服务效率,需要哪些数智工具支持?

在Mac上搭建本地AI工作流:Dify与DeepSeek的完美结合

本文介绍了在Mac上搭建本地AI工作流的方法,结合Dify平台和DeepSeek模型。Dify是一个开源的大语言模型应用开发平台,支持可视化AI应用开发。部署步骤包括:1)安装Homebrew和Docker;2)克隆Dify代码库;3)配置环境变量并启动服务。同时,使用Ollama工具本地部署DeepSeek模型,将其集成到Dify中创建聊天助手。通过配置模型接口和新建应用,用户可以在本地环境中实现AI对话功能。这种方案既保证了数据隐私,又提供了灵活的AI应用开发能力。

Linda的自动化测试之旅 1536

SpringSecurity + Spnego + Kerberos 实现AD域单点登录

本文主要介绍了域的基本概念,Kerberos 的基本概念。以及如何结合实现域单点登录及域用户的同步管理。

Letter的博客 2763

无人机基本组成部件

无人机基本组成部件

qq_37410522的博客 1万+

spnego java_《HttpClient官方文档》4.8 SPNEGO/Kerberos验证

原文链接译者:EdenpanSPNEGO(简单并且受保护的GSSAPI协商机制)被设计为当两端都不知道他人可以提供,或使用什么时所提供的验证服务。它可以包装其他的机制,但是目前HttpClient4.2是按照Kerbros单独设计的。4.8.1SPNEGO在HttpClient中的支持SPNEGO验证方案被Sun Java 1.5以上版本兼容。1.6以上的Java版本被强烈推荐,因为它已经完全支...

weixin_31068553的博客 697

架构设计之架构治理

架构治理的本质是“用规则约束复杂性,用流程保障落地,用数据驱动优化”先定目标:明确量化的治理目标,避免盲目行动;立标准:建立覆盖分层、选型、接口、拆分的统一规范,奠定治理基础;强评审:通过架构评审把控设计环节,提前规避风险;全流程:将治理规则贯穿设计、开发、测试、部署、运维全生命周期;重保障:通过组织、流程、工具确保治理落地,而非“纸上谈兵”;持续迭代:随业务与技术演进优化治理规则,避免“一劳永逸”。

xiaolyuh的专栏 812

一张图看懂中国民航适航审定体系:从适航司到审定中心,到底谁管谁?

本文深入解析中国民航适航审定体系,从立法层到执行层的完整链条,揭示适航管理的金字塔结构和核心流程。涵盖适航司、审定中心等关键机构职能,以及型号审定、生产许可审定等全生命周期管理,展现中国适航体系的特色实践与创新探索。

weixin_30896511的博客 476

读《Wireshark网络分析就这么简单》读书笔记

晚上花了两个多小时看完这本书,记录下一些看书过程中的笔记。 一、问题:A和B 是否能正常通信? 两台服务器A和服务器B的网络配置 A B 192.168.26.129 192.168.26.3 255.255.255.0 ...

weixin_30587927的博客 623

【Dify】PPT生成工具应用

本文介绍了一款自动化PPT生成工具,通过智能接口将文本内容高效转化为结构化演示文档。该系统采用三阶段工作流(内容输入、HTTP请求上传、文件输出),无需复杂操作即可生成专业PPT。工具适用于教学课件、产品发布、企业培训等场景,能显著提升内容表达效率,特别适合初学者快速制作演示材料。文章详细说明了核心节点、应用场景及开发资源,为文本到PPT的自动化转换提供了实用解决方案。

Mr数据杨 1218

Windows下配置浏览器使用Kerberos (SPNEGO)

Windows下配置浏览器使用Kerberos (SPNEGO) Windows下配置浏览器使用Kerberos (SPNEGO) 适用场景 Windows GSSAPI/KERBEROS环境配置 安装MIT KERBEROS 配置kerberos环境 配置JCE 配置Firefox 后谈 小结 参考链接: 适用场景 本示例适用场景满足以下情况: 1. 访问开启k...

taisenki的博客 1万+

【RAG文档解析优化】复杂Excel表格处理

—从识别表格边界,到恢复内部结构,再到生成RAG友好的表示——我们可以系统性地将这些“带刺的玫瑰”驯服。虽然代码实现可能充满细节和挑战,但其带来的回报是巨大的:一个更干净、更可靠的知识库,以及一个能真正理解和利用表格数据、从而提供精准答案的RAG系统。为了人类阅读的便利性,制作者常常会使用合并单元格来创建标题、使用多层表头来组织复杂的列、在同一个Sheet页中放置多个相关的表格,并添加大量的注释说明。它们就像一朵朵“带刺的玫瑰”,虽然蕴含着宝贵的数据,但如果直接用传统的方法(如。

kakaZhui的博客 853

43、FMCW雷达高度计仿真

本文介绍了FMCW雷达高度计的波形级建模与仿真过程,重点模拟了着陆和倾斜两种飞行场景以评估其性能。通过结合高程数据和飞行轨迹构建雷达场景,使用自定义信号处理器分析IQ样本并估计高度。结果表明,该高度计在多数情况下满足性能要求,但也存在误差较大的点,提出了地面检测算法优化的潜在方向。

neovim7hacker的博客 135

Spnego

本文参考连接: https://www.jianshu.com/p/3553a901162d https://blog.youkuaiyun.com/wangyangzhizhou/article/details/51163782 http://spnego.sourceforge.net/index.html Simple and Protected GSSAPI Negotiation Mechanism (SPNEGO) 即 简单且受保护的GSSAPI协商机制,是客户端-服务器软件用于协商安全技术选择的G

wy818的专栏 1065

端到端自动驾驶的精准测试场景开发

1. 背景介绍 自动驾驶技术的发展正在改变交通运输的未来,然而,要实现安全可靠的自动驾驶,需要进行大量的测试和验证。端到端自动驾驶系统的测试场景开发是实现这一目标的关键。本文将详细介绍端到端自动驾驶的精准测试场景开发,包括核心概念、算法原理、数学模型、项目实践,以及未来发展趋势。 2. 核心概念与联系

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1319

《Kerberos权威指南》中文精读系列:第3章. 协议

Kerberos权威指南第3章. 协议Needham-Schroeder协议Kerberos 5世界上最短的ASN.1教程身份验证服务器(AS)和票据授予服务器(TGS)新的加密选项票据选项预身份验证(Pre-Authentication)其他协议特性和扩展String-to-Key转换密码修改密钥版本号(The Key Version Number)一些与Kerberos有关联的协议的简称通用安全服务API(Generic Security Services API,简称GSSAPI)简单且受保护的GSS

咕噜咕噜大数据 1367

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

0307.使用SPNEGO实现Domino与AD单点登录

1. 应用背景 伴随着 domino 8.5.1 (或更高版本)对 SPNEGO(Simple and Protected GSSAPI Negotiation Mechanism)单点登录的支持,使用 SPNEGO 单点登录,用户只需在自己的客户端上登陆到 Windows 的域中,就可以用浏览器直接访问 Domino 服务器资源而不用再次提供用户名称和密码。本文将详细介绍 Domin...

ama7449的博客 516

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SPNEGO设置

花了点时间在JBOSS,TOMCAT,WEBSPHERE上应用了SPNEGO open source project,有几点要注意的地方 1)tomcat下面的login.conf的正确格式如下: spnego-client { com.sun.security.auth.module.Krb5LoginModule required; }; spnego-server { c

net_wolf的专栏 1198

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

CAS 5.1集成SPNEGO(cas实现ad域免密)

Windows加入AD域后,想实现用登录计算机的AD域账号密码,登录各个web应用站点。即浏览器访问web站点时,不需要输入用户密码,自动使用登录windows系统时的AD账号登录。 官网地址: https://apereo.github.io/cas/5.1.x/installation/SPNEGO-Authentication.html AD域服务器上生成keytab文件 1.在AD域中,创建1个域账号,密码设置为永不过期 2.使用上面创建的域账号,创建SPN(服务主体名称) 3.使用admi

MyMBS的博客 2909

spnego java,为Web应用程序单点登录选择Kerberos(SPNEGO)Java库

I'm currently working on implementing enterprise authentication mechanisms in our Java web-application, including single sign-on. Windows networks are what we primary target at, and Kerberos sounds a ...

weixin_32423063的博客 434

spnego java,Java SPNEGO身份验证和Kerberos约束委派(KCD)到后端服务

I have a Java web application which do SPNEGO authentication of clients in a Windows Active Directory environment.To authenticate the user we use code from the good old SPNEGO SourceForge project.Stri...

weixin_39552472的博客 336

spnego 配置心得

spnego 也许大家很陌生,但是说到

constanine_xia的专栏 5581
上一篇: 甄子丹与李连杰
下一篇: 记我的mentor
sphinxes
博客等级 码龄20年 2粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值