我有一个我在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以其他方式获取用户,密码和角色?例如,从数据库中检索它们的类.
我想定期在Windows服务的指定用户帐户下运行任意.NET exe.
到目前为止,我已经让我的Windows服务运行逻辑来决定目标进程是什么,以及何时运行它.目标进程以下列方式启动:
在第一次出现这种情况,目标进程执行罚款,然后正常关闭.然而,每次后续时间,一旦目标进程启动,它就会抛出错误"应用程序无法正常运行(0xc0000142)".重新启动Windows服务将允许进程再次成功运行(第一次执行).
当然,目标是每次都成功执行目标进程.
关于上面的步骤2:要以不同的用户身份运行进程.NET调用win32函数CreateProcessWithLogonW.此函数需要一个窗口句柄来记录指定的用户.由于Windows服务未在交互模式下运行,因此它没有窗口句柄.这个中间过程解决了这个问题,因为它有一个可以传递给目标进程的窗口句柄.
请不要使用psexec或windows任务规划器的建议.我已经接受了我的生活,包括以上述方式解决问题.
假设我有一个具体的类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命名构造函数?
实现命令行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) 我创建了一个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) 我从SQL Server中删除了一个数据库,但事实证明我的登录设置为使用已删除的数据库作为其默认值.我可以使用连接对话框中的"选项"按钮连接到SQL Server Management Studio,并选择"master"作为要连接的数据库.但是,每当我尝试在对象资源管理器中执行任何操作时,它都会尝试使用我的默认数据库进行连接并失败.
有没有人知道如何在不使用object explorer的情况下设置我的默认数据库?
我确信这是一个非常简单的问题,但我是VB.NET的新手,所以我遇到了问题.
我有一个Decimal变量,我需要将它分成两个独立的变量,一个包含整数部分,另一个包含小数部分.
例如,对于x = 12.34,最终得到ay = 12和az = 0.34.
有没有一个很好的内置函数来做到这一点,还是我必须尝试手动解决?
我想为Notepad ++编写一个宏,它应该分别用char4,char5,char6替换char1,char2,char3.谢谢
我假设这是一个简单的问题,但如果我能找到答案,我会很高兴.
我在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来解决这个问题.
java ×2
.net ×1
c# ×1
coldfusion ×1
command-line ×1
constructor ×1
css ×1
decimal ×1
html ×1
macros ×1
notepad++ ×1
overloading ×1
process ×1
python ×1
rss ×1
security ×1
service ×1
split ×1
sql-server ×1
ssms ×1
tomcat ×1
utf-8 ×1
vb.net ×1