我对Spring和Spring安全性比较陌生.
我试图编写一个程序,我需要使用Spring安全性在服务器端验证用户,
我想出了以下内容:
public class CustomAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider{
@Override
protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken)
throws AuthenticationException
{
System.out.println("Method invoked : additionalAuthenticationChecks isAuthenticated ? :"+usernamePasswordAuthenticationToken.isAuthenticated());
}
@Override
protected UserDetails retrieveUser(String username,UsernamePasswordAuthenticationToken authentication) throws AuthenticationException
{
System.out.println("Method invoked : retrieveUser");
//so far so good, i can authenticate user here, and throw exception if not authenticated!!
//THIS IS WHERE I WANT TO ACCESS SESSION OBJECT
}
}
Run Code Online (Sandbox Code Playgroud)
我的用例是,当用户通过身份验证时,我需要放置一个属性,如:
session.setAttribute("userObject", myUserObject);
Run Code Online (Sandbox Code Playgroud)
myUserObject是某个类的对象,我可以跨多个用户请求访问整个服务器代码.
我想在其父表单的中心显示我的Messagebox.如果我移动表单并显示消息框,它总是显示在桌面的中心.我希望它与表单一起出现.你能给我一些技巧和建议吗?
我在Ubuntu 9.04上使用emacs 22.2.1.
每次我打开文件并对其进行处理,然后当我列出终端目录中的文件时,我会在每个文件的末尾看到哈希值.
即
#test.c#
#test.h#
Run Code Online (Sandbox Code Playgroud)
为什么这样,我怎么能删除它们?
非常感谢任何建议,
我或多或少只是一个业余爱好者程序员,并且在.NET ClickOnce世界中已经成长为编码方式.
当一个"安装"程序时,实际发生了什么?!
另外:一些小应用程序/工具只是从exe运行.为什么大多数程序需要花哨的安装过程?有什么优点,缺点,利弊?安装通常是必要的还是更像标准做法?
为额外的问题道歉.我只是希望一个普通英语或多或少的外行人对关键因素的解释.
我看到Nginx HttpRewriteModule文档有一个例子,用于将www前缀域重写为非www前缀域:
if ($host ~* www\.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent; # $1 contains '/foo', not 'www.mydomain.com/foo'
}
Run Code Online (Sandbox Code Playgroud)
如何反向 - 将非www前缀域重写为www前缀域?我想也许我可以做类似下面的事情,但Nginx不喜欢嵌套的if语句.
if ($host !~* ^www\.) { # check if host doesn't start with www.
if ($host ~* ([a-z0-9]+\.[a-z0-9]+)) { # check host is of the form xxx.xxx (i.e. no subdomain)
set $host_with_www www.$1;
rewrite ^(.*)$ http://$host_with_www$1 permanent;
}
}
Run Code Online (Sandbox Code Playgroud)
此外,我希望这适用于任何域名,而无需明确告诉Nginx重写domain1.com - > www.domain1.com,domain2.com - > www.domain2.com等,因为我有大量的域要重写.
随着Ruby 1.9.2版本即将发布,现在是让开发人员对Ruby 1.9感到兴奋的时候了.你可以在Ruby 1.9中做些什么好事,你在Ruby 1.8中做不到?
我正在使用bit.ly url缩短服务来缩短某些网址被发送到"在twitter上分享"功能.我只想在用户实际按下共享按钮时加载bit.ly url(由于bit.ly的max 5 parallel reqs限制).Bit.ly的REST API使用缩短的url返回JSON回调,这使整个场景异步.
我已尝试以下方法来停止click事件,并等待JSON调用在启动单击之前返回一个值.
我在jQuery(document).ready()中有以下简化代码:
更新的代码(过度简化)!
jQuery("#idofaelement").click(function(event) {
event.preventDefault(); //stop the click action
var link = jQuery(this);
bitlyJSON(function(shortUrl) {
link.attr("href", function() {
//process shortUrl
//return finalized url;
}).unbind().click();
});
});
Run Code Online (Sandbox Code Playgroud)
并使用以下代码来处理缩短的缩短(工作得很好):
function bitlyJSON(func) {
//
// build apiUrl here
//
jQuery.getJSON(apiUrl, function(data) {
jQuery.each(data, function(i, entry) {
if (i == "errorCode") {
if (entry != "0") {
func(longUrl);}
} else if (i == "results") {
func(entry[longUrl].shortUrl);}
});
});
} (jQuery)
Run Code Online (Sandbox Code Playgroud)
href的值已更改,但最终的.click()事件永远不会被触发.这在为href定义静态值时工作正常,但在使用异步JSON方法时则不行.
对于RTL语言,阿拉伯语,希伯来语等,水平翻转ExtJs Panel的适当方法是什么?
是否有可能(如果是这样,我如何)使用Delphi 2007将单个程序作为控制台应用程序和GUI版本工作?
我所追求的是,如果程序使用适当的命令行选项运行,它应该用作控制台程序,使用WRITELN将输出打印到控制台,但如果没有给出命令行参数,它应该作为普通Delphi运行GUI应用程序?
问题是当作为控制台应用程序运行时,命令行解释程序在允许您输入新命令之前等待应用程序终止,而从命令行启动的GUI应用程序会立即返回到命令行和GUI应用程序在分离的过程中启动.我希望保留这种行为.
我不介意这样的事情:
如果GUI那么StartApplicationAsGUI(ParamStr(0))
即.我不介意我必须使用某种形式的EXECUTE调用重新启动应用程序,以便在GUI模式下启动它(如果需要),只要命令行界面在GUI版本启动时返回到命令行输入即可.
我更喜欢一个解决方案/建议:
<Parse Comnand Line>
IF ConsoleMode THEN
RunConsole(参数)
ELSE BEGIN
Application.Initialize;
Application.CreateForm(...)
Application.Run;
结束
(反之亦然,即如果GUI模式以特殊方式做事)
这样我在制作GUI界面时仍然可以使用Delphi的IDE和VCL ......
我有一个WPF DataGrid,显示一些数据记录(与ObservableCollection绑定).
当用户单击"编辑"按钮时,当前选定的行应进入编辑模式(就像用户双击此行一样).
有谁知道怎么做的想法?