问题列表 - 第3251页

如何从数据库中检索用户名,密码和角色,而不是在使用容器管理的安全性时从tomcat-user.xml中检索它们

我有一个我在Tomcat中部署的Web应用程序.我想保护url路径管理/*下的所有页面.

我已将容器管理的安全性设置为web.xml文件中的下一个片段:

<security-role>
    <role-name>administrator</role-name>
</security-role>
<login-config>
    <auth-method>BASIC</auth-method>                
</login-config>  
<security-constraint>
    <web-resource-collection>
        <web-resource-name>AdministrationPanel</web-resource-name>          
    <url-pattern>/administration/*</url-pattern>            
    <http-method>GET</http-method>
    <http-method>POST</http-method>         
    </web-resource-collection>
    <auth-constraint>
        <role-name>administrator</role-name>
    <role-name>member</role-name>
    </auth-constraint>
</security-constraint>
Run Code Online (Sandbox Code Playgroud)

我在$ CATALINA_HOME/conf/tomcat-users.xml中

<user username="userA" password="userA" roles="administrator"/>
Run Code Online (Sandbox Code Playgroud)

一切都很好.我得到一个登录框,我可以作为userA验证自己.

但是,我希望能够通过使用Web应用程序直接存储新用户,更改用户密码等.

是否有可能告诉tomcat以其他方式获取用户,密码和角色?例如,从数据库中检索它们的类.

security tomcat container-managed

3
推荐指数
1
解决办法
673
查看次数

使用Process.Start()以Windows服务中的不同用户身份启动进程

我想定期在Windows服务的指定用户帐户下运行任意.NET exe.

到目前为止,我已经让我的Windows服务运行逻辑来决定目标进程是什么,以及何时运行它.目标进程以下列方式启动:

  1. Windows服务使用"管理员"凭据启动.
  2. 到时候,执行一个中间的.NET进程,其参数详细说明应该启动哪个进程(文件名,用户名,域名,密码).
  3. 此过程创建一个新的System.Diagnostics.Process,将ProcessStartInfo对象与传递给它的参数相关联,然后在进程对象上调用Start().

第一次出现这种情况,目标进程执行罚款,然后正常关闭.然而,每次后续时间,一旦目标进程启动,它就会抛出错误"应用程序无法正常运行(0xc0000142)".重新启动Windows服务将允许进程再次成功运行(第一次执行).

当然,目标是每次都成功执行目标进程.

关于上面的步骤2:要以不同的用户身份运行进程.NET调用win32函数CreateProcessWithLogonW.此函数需要一个窗口句柄来记录指定的用户.由于Windows服务未在交互模式下运行,因此它没有窗口句柄.这个中间过程解决了这个问题,因为它有一个可以传递给目标进程的窗口句柄.

请不要使用psexec或windows任务规划器的建议.我已经接受了我的生活,包括以上述方式解决问题.

.net c# service windows-services process

35
推荐指数
1
解决办法
4万
查看次数

访问匿名类的构造函数

假设我有一个具体的类Class1,我正在创建一个匿名类.

Object a = new Class1(){
        void someNewMethod(){
        }
      };
Run Code Online (Sandbox Code Playgroud)

现在有什么方法可以重载这个匿名类的构造函数.如下图所示

Object a = new Class1(){
        void someNewMethod(){
        }
        public XXXXXXXX(int a){
          super();
          System.out.println(a);
        }
      };
Run Code Online (Sandbox Code Playgroud)

用xxxxxxxx命名构造函数?

java constructor overloading anonymous-types

212
推荐指数
4
解决办法
11万
查看次数

实现"[command] [action] [parameter]"样式命令行界面?

实现命令行UI的"最干净"方式是什么,类似于git,例如:

git push origin/master
git remote add origin git://example.com master
Run Code Online (Sandbox Code Playgroud)

理想情况下还允许更灵活的解析,例如,

jump_to_folder app theappname v2
jump_to_folder app theappname source
jump_to_folder app theappname source v2
jump_to_folder app theappname build v1
jump_to_folder app theappname build 1
jump_to_folder app theappname v2 build
Run Code Online (Sandbox Code Playgroud)

jump_to_folder是脚本名称,app是命令,theappname是"固定位置"参数,"构建"和"v2"等是参数(例如,可能的参数是任何数字/任何前缀为av的数字,或者build/source/TMP /配置)

我可以用一系列if/ else/ 手动解析参数elifs,但必须有更优雅的方法来做到这一点?

作为一个完全理论上的例子,我可以描述UI模式..

app:
    fixed: application_name

    optional params:
        arg subsection:
            "build"
            "source"
            "tmp"
            "config"

        arg version:
            integer
            "v" + integer
Run Code Online (Sandbox Code Playgroud)

然后通过上面的模式解析提供的参数,并获取一个字典:

>>> print schema.parse(["app", "theappname", "v1", "source"])
{ …
Run Code Online (Sandbox Code Playgroud)

python user-interface command-line

14
推荐指数
2
解决办法
5735
查看次数

如何摆脱我的RSS提要中的奇怪字符?

我创建了一个utf8编码的RSS源,它提供从数据库中提取的新闻数据.我已经将我的数据库的所有方面都设置为utf8,并通过将其粘贴到记事本并保存为utf8来保存我作为utf8放入数据库的文本.因此,当RSS源呈现给浏览器时,所有内容都应该以utf8编码,但是我仍然得到英镑符号的奇怪问号字符:(

这是我的RSS提要代码(CFML):

<cfsilent>
<!--- Get News --->
<cfinvoke component="com.news" method="getAll" dsn="#Request.App.dsn#"     returnvariable="news" />
</cfsilent>
<!--- If we have news items --->
cfif news.RecordCount GT 0>
<!--- Serve RSS content-type --->
<cfcontent type="application/rss+xml">
<!--- Output feed --->
<cfcontent reset="true"><?xml version="1.0" encoding="utf-8"?>
<cfoutput>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>News RSS Feed</title>
        <link>#Application.siteRoot#</link>
        <description>Welcome to the News RSS Feed</description>
        <lastBuildDate>Wed, 19 Nov 2008 09:05:00 GMT</lastBuildDate>
        <language>en-uk</language>
        <atom:link href="#Application.siteRoot#news/rss/index.cfm" rel="self" type="application/rss+xml" />

    <cfloop query="news">
    <!--- Make data xml compliant --->
        <cfscript>
        news.headline = replace(news.headline, "<", …
Run Code Online (Sandbox Code Playgroud)

rss coldfusion utf-8 character-encoding

3
推荐指数
1
解决办法
1403
查看次数

如何在不使用MS SQL Server Management Studio的情况下更改SQL Server中的默认数据库?

我从SQL Server中删除了一个数据库,但事实证明我的登录设置为使用已删除的数据库作为其默认值.我可以使用连接对话框中的"选项"按钮连接到SQL Server Management Studio,并选择"master"作为要连接的数据库.但是,每当我尝试在对象资源管理器中执行任何操作时,它都会尝试使用我的默认数据库进行连接并失败.

有没有人知道如何在不使用object explorer的情况下设置我的默认数据库?

sql-server ssms sql-server-2005 default-database

161
推荐指数
8
解决办法
23万
查看次数

在VB.NET中拆分'Decimal'

我确信这是一个非常简单的问题,但我是VB.NET的新手,所以我遇到了问题.

我有一个Decimal变量,我需要将它分成两个独立的变量,一个包含整数部分,另一个包含小数部分.

例如,对于x = 12.34,最终得到ay = 12和az = 0.34.

有没有一个很好的内置函数来做到这一点,还是我必须尝试手动解决?

vb.net split decimal

12
推荐指数
2
解决办法
3万
查看次数

如何为Notepad ++编写宏?

我想为Notepad ++编写一个宏,它应该分别用char4,char5,char6替换char1,char2,char3.谢谢

macros notepad++

33
推荐指数
4
解决办法
14万
查看次数

Visual Studio中样式表的相对路径无法在预览中工作

我假设这是一个简单的问题,但如果我能找到答案,我会很高兴.

我在Visual Studio 2008中有一个网站.样式表(和图像)的路径采用以下格式/css/stylesheetname.css

在Visual Studio中Web项目的根目录下,该文件夹与样式表一样存在.在IIS中运行它们时,这些路径可以正常工作.

如果我在Visual Studio中使用内置的Web服务器,则路径会失败,因为它将项目名放在路径中,即http:// localhost:2020/projectname/default.aspx

在这种情况下,/将路径直接返回到http:// localhost:2020

如果单击"设计",导入背景图像的样式都会失败,尽管样式表正确导入(因为样式表工作的所有其他方面,即.class{font-family:arial;}工作但.class{background: url(/images/image.jpg)}没有),这一点更加复杂.

我想这与Visual Studio如何计算网站的根路径有关,但我找不到改变它的设置.

有任何想法吗?? 更新:根据Egil Hansen的回答,我将CSS文件中的路径转换为相对路径.但是,背景图像仍然无法在设计模式下显示.我将在适当的时候看看使用Themes来解决这个问题.

html css visual-studio-2008 visual-studio

6
推荐指数
2
解决办法
1万
查看次数

所有具体方法的抽象类

是否有一些实际的编程情况让某人在其中的所有方法具体时声明一个类抽象?

java abstract-class

16
推荐指数
2
解决办法
2万
查看次数