基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误

一数据库服务器(SQL Server 2014)上的一个作业执行报错,具体错误信息如下:

 

Executed as user: NT SERVICE\SQLSERVERAGENT. 用户 'xxxx\xxxxx$' 登录失败。 [SQLSTATE 28000] (Error 18456). The step failed.

 

 

其中用户 'xxxx\xxxxx$',反斜杠前面是域名,后面为计算机名称+$, 其实这是一个虚拟账号。 即本地系统帐户不具有网络的任何访问权限。当需要访问网络时,本地系统使用帐户 Domain\computername$ 。具体参考关于 Configuration Manager 中的本地系统帐户/Computer$

 

起初看到这个错误,有点不知所以然,并不清楚是什么具体原因造成,那么就去检查作业执行的存储过程,发现里面使用链接服务器(LINKED SERVER),由于这个错误提示是本地系统账号访问网络的权限问题,所以我特意去链接服务器(LINKED SERVER)所指向的数据库服务器,结果在同一时间点也出现了一个错误信息,其实就是该作业链接过来时产生的信息。

Message

Login failed for user 'xxx\xxxx$'. 原因: 基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误。 [客户端: 192.168.xxx.xxx]

 

 

检查该链接服务器(LINKED SERVER)发现该链接服务器使用的是“使用登录名的当前安全上下文建立连接”(Be made using the login's current security context)

 

 

由于是作业调用该存储过程,那么该作业执行到调用链接服务器部分SQL时,使用的就是启动SQL Agent服务的登录名来建立安全上下文, 如下所示,SQL Agent服务的启动账号为NT Service\SQLSERVERAGENT, 而链接服务器(LINKED SERVER)所指的数据库服务器,启动SQL Agent服务的登录名为一个域账号,很显然此时链接服务器就会遇到权限问题。其实就是最近修改了这台服务器的SQL Agent服务的登录名所导致。SQL Agent服务本来是一个域账号启动的。

 

 

知道具体原因了,那么就能给出具体解决方案了:

 

方法1: 修改启动SQL Server Agent服务的登录名,例如具有系统管理员权限的域账号(当然所指向的服务器也具有该域账号,并且有相关权限),然后重启SQL Agent服务就能解决问题。

方法2: 修改链接服务器(LINKED SERVER),使用特定账号来建立安全上下文机制也可以解决这个问题。

时间: 2024-10-29 08:46:03

基于令牌的服务器访问验证失败,出现基础结构错误。请检查以前的错误的相关文章

服务器-关于用java开发微信公众平台开发 token验证失败的问题

问题描述 关于用java开发微信公众平台开发 token验证失败的问题 大家好,最近在学习用java开发微信公众平台,第一次写的代码token验证通过了,用的是阿里云的服务器换系统(server2008->2003)后就怎么也通过不过验证.直接输入域名www.zhenggufang.com/aip/longin网页显示404.域名也已经备过案.服务器上的tomcat也启动正常tomcat/conf/server也修改了.多谢提交还是token验证失败.请各位帮忙看看代码如下: package s

服务器-【微信开发】为什么TOKEN一直验证失败呢?

问题描述 [微信开发]为什么TOKEN一直验证失败呢? 我是用的SAE新浪云来搞的,也进行了实名认证,接受数据的URL也没输错,但是就是token验证不通过,眼睛都看花了,麻烦能人帮忙找找错~谢谢! <?phpheader('content-type:text/html;charset=utf-8'); //定义常量TOKEN,用来存储token define(""TOKEN""weixin""); //封装验证逻辑 function ch

asp.net Forms身份验证和基于角色的权限访问_实用技巧

主要思想:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面. 具体步骤:     1.创建一个网站,结构如下:         网站根目录             Admin目录            ---->    管理员目录                 Manager.aspx        ---->    管理员可以访问的页面             Users目录            ---->    注册用户目录         

微信配服务器验证失败-微信公众平台修改服务器配置时token验证失败

问题描述 微信公众平台修改服务器配置时token验证失败 jsp里的源码: <% String token = Weixin.TOKEN; String timestamp = request.getParameter("timestamp"); String nonce = request.getParameter("nonce"); //对微信返回的数据做SHA1加密 String sign = ""; try { List l = n

Token验证失败

Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html    Token验证失败的解决方法   一.问题由来 在使用URL和Token启用微信公众平台开发模式消息接口的时候,我们会碰到下面三种情况  1. token校验失败 这样回头检查一下各项配置是否正确.如果确定配置没有问题,请按下面的方法检查 2. 请求URL超时 你的服务器在国外,或者服务器网速不给力,一

IBM Java Toolbox for i实现三种基于IBM i的身份验证策略

对于从事IBM i平台的应用开发者而言,用户身份验证是保证程序安全性的最基本功能之一.作为访问与操 纵IBM i平台上数据与资源的Java API,IBM Java Toolbox for i从编程的角度,实现了各种用户身份验证策 略,可简单.高效地解决程序的安全性问题.本文将从Web应用的角度,结合具体样例,指导IBM i Web应用程 序开发者如何使用IBM Java Toolbox for i实现不同的身份验证策略.有关IBM Java Toolbox for i的基础知 识,请参见另一篇

阿里云风云令总是验证失败怎么办?

  如果风云令的动态口令总是验证失败,有可能是您的手机时间与服务器时间不同步. 请进入[设置]-[时间校准],校准时间之后再尝试验证(本操作不会修改系统时间,校准后的时间只针对风云令有效). 如果您修改过系统时间,请及时对风云令进行时间校准,否则将造成验证失败. 如果校准时间后依然验证失败,请尝试访问绑定站点进行解绑或者联系网站客服.

窃取 OAuth 令牌绕过 Airbnb 身份验证

本文讲的是窃取 OAuth 令牌绕过 Airbnb 身份验证,登录过程中的CSRF与Airbnb的OAuth登录流程中的基于HTTP Referer头的开放重定向跳转漏洞相结合,可能会被用来窃取所有的Airbnb身份提供商的OAuth访问令牌,并最终确定Airbnb网站和移动应用程序的受害者.这种攻击并不依赖于特定的OAuth身份提供程序的应用程序配置缺陷(例如白名单redirect_uri 的URL中的通配符),这对所有的Airbnb的身份提供者(包括Facebook和Google)都是通用的

java AD域跨域验证失败

问题描述 使用该方法在同一个域中验证用户成功,但是在不同域中验证失败.例如:有两个域A,B将项目部署在A域中,或取B域中的账户作验证.如果跨域就验证失败.DirContextctx=null;Stringaccount=loginAction.getLoginName();//设置访问账号Stringpassword=loginAction.getPassword();//设置账号密码Stringhost=SaiLunAfterItem.DOMAIN_IP;//AD服务器Stringroot="