小编Cra*_*ker的帖子

如何在Spring Security中动态决定<intercept-url>访问属性值?

在Spring Security中,我们使用intercept-url标记来定义URL的访问权限,如下所示:

<intercept-url pattern="/**" access="ROLE_ADMIN" />
<intercept-url pattern="/student" access="ROLE_STUDENT" />
Run Code Online (Sandbox Code Playgroud)

这是硬编码的applicationContext-security.xml.我想从数据库表中读取访问值.我已经定义了自己的UserDetailsService,我从数据库中读取了登录用户的角色.如何在运行时将这些角色分配给URL模式?

authorization spring-security security-roles

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

如何列出目标文件中的函数?

我试图理解C/C++中的编译和链接过程.我知道源文件首先由编译器转换为目标文件.然后,链接器从目标文件生成库或可执行文件.

我试图首先读取目标文件中的信息.这是我为实验编写的程序.

func.h

#include <iostream>

void beautifulprint(char *str);
Run Code Online (Sandbox Code Playgroud)

func.cpp

#include "stdafx.h"
#include "func.h"

using namespace std;

void beautifulprint(char *str) {
    cout << "*** " << str << " ***" << endl;
}
Run Code Online (Sandbox Code Playgroud)

TestApp.cpp

#include "stdafx.h"
#include "func.h"

int _tmain(int argc, _TCHAR* argv[])
{
    beautifulprint("Hello, world!");

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在VS 2010中构建项目后,我得到了func.obj.我假设在func.obj中的某个地方应该有一个beautifulprint函数的引用.我为func.obj的调试版和发行版运行了以下版本

dumpbin /HEADERS func.obj > funchead.txt
Run Code Online (Sandbox Code Playgroud)

以下是输出.

调试版本(不包括完整输出,因为它非常大)

...

SECTION HEADER #41
   .text name
       0 physical address
       0 virtual address
      78 size of raw data
    5B94 file pointer to raw data …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

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

为什么无法从另一个线程调用OpenGL ES函数

我正在尝试使用OpenGL ES为Android编写一个小型游戏引擎.我创建了一个Game Thread来更新游戏对象和GLThread来绘制场景.我读过你需要在GLSurfaceView的onSurfaceCreated方法中加载纹理.我正在关注这个但是出于某些调试目的,我试图从我的游戏线程而不是GLThread加载纹理.我没有错误,纹理没有出现在屏幕上.我花了一整天的时间试图弄清楚问题,最后我在这里阅读了下面的内容

"只需确保在主线程中只使用OpenGL." 很重要.你不能在你的游戏引擎(可能在另一个线程中)中调用一个与gl-thread不同步的纹理加载函数.设置一个标志来指示你的gl线程加载一个新的纹理(例如,你可以在OnDrawFrame(GL gl)中放置一个函数,它检查是否必须加载一个新的纹理.

我将修改我的代码,以便从GL线程加载纹理.我只是不明白为什么会这样?为什么OpenGL函数不能从另一个线程起作用?

我知道如何创建线程,但我不知道同步意味着什么.上面的摘录提到,"你不能在游戏引擎中调用(可能在另一个线程中)一个纹理加载函数,它与gl-thread不同步." 所以我想我的游戏线程可能不会与GL线程同步.是否可以创建另一个与GL Thread同步的线程,以便可以从中调用GL函数?我应该在线程中学到什么才能理解这些概念?

android opengl-es

10
推荐指数
1
解决办法
4285
查看次数

如何将JavaScript代码拆分成多个文件并使用它们而不通过HTML中的脚本标记包含它们?

我正在广泛地使用构造函数(类),并希望每个构造函数都在一个单独的文件中(类似于Java).假设我有构造函数说Class1,Class2,... Class10,我只想使用Class1和Class5我需要使用脚本标记将Class1.js和Class2.js包含在HTML页面中.稍后如果我还需要使用Class3和Class6,我还需要转到HTML页面并为它们添加脚本标记.这种方法的维护太差了.

在JavaScript中有类似于C的include指令吗?如果没有,有没有办法模仿这种行为?

javascript

9
推荐指数
1
解决办法
8424
查看次数

MVC中控制器的工作是什么?

我正在尝试学习MVC架构.但我无法理解为什么你需要一个控制器.请参阅以下代码了解我的模型和视图.

model.php连接到数据库并检索帖子.view.php将只显示帖子.

model.php

<?php
  $db = mysql_connect("somehostname", "someuser", constant("somepassword"));
  mysql_select_db("somedatabase", $db);

  $result = mysql_query("SELECT post FROM posts WHERE postid='" . $_POST['id'] . "'");
  $row = mysql_fetch_array($result);

  $post = $row["post"];

  mysql_close($db);
?>
Run Code Online (Sandbox Code Playgroud)

view.php

<?php
  require "model.php";
  echo $post;
?>
Run Code Online (Sandbox Code Playgroud)

我将浏览器位置设置为http://whateverhost/view.php?id = 5

这会加载id为5的帖子.我这里不需要控制器.所以我很困惑为什么你需要一个控制器?

注意:请参考上面的例子说明.我不是编程爱好者,像CakePHP等学习东西对我来说是压倒性的.

编辑:如果你可以将controller.php添加到上面的代码将是很好的.这将有助于我理解控制器的作用以及它如何与模型和视图进行通信.

model-view-controller

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

PHP中是否有类似于Option Explicit的东西

可能重复:
PHP中的严格模式?

我正在用PHP做一个大项目.在PHP中,您不需要声明变量.这给我带来了很多问题.

在Visual Basic 6中,Option Explicit语句强制声明变量.PHP中有类似的东西吗?

php variables declaration

7
推荐指数
1
解决办法
3404
查看次数

如何从Java Server Side技术开始?

我对PHP有很好的了解.但我也想学习JSP等技术.我已经安装了Apache Tomcat 6.0和Eclipse Java EE.

我在Google上寻找JSP教程,发现有一些东西,如JSP,Servlets,Struts,EJB,JSF等.我听说过很多关于Struts和JSF的东西,他们非常好.

我想知道我应该以什么顺序开始学习这些技术.(我对Core Java有很好的了解)

java jsp servlets web-frameworks

5
推荐指数
1
解决办法
7117
查看次数

jQuery getScript方法如何确保动态加载JavaScript的安全执行?

我想使用AJAX动态加载JS文件并执行它.我在引用这个页面时说:"此时,注入JS代码的首选方法似乎是使用AJAX加载JS源代码,然后使用eval()代码."

但我担心使用eval来执行脚本.只是为了看看jQuery如何实现这一点我检查了它的来源并发现了这个:

getScript: function( url, callback ) {
    return jQuery.get( url, undefined, callback, "script" );
}
Run Code Online (Sandbox Code Playgroud)

然后我搜索了jQuery get方法.但是定义了几种get方法.我是JS的新手,不知道在哪里寻找正确的get方法.

我想知道它是如何执行脚本的 - 无论是否使用eval,如果是,它是如何安全的.

有人可以指导我如何寻找正确的get方法.

security jquery eval

5
推荐指数
1
解决办法
1391
查看次数

Spring LDAP异常 - 未注册UserDetailsS​​ervice

我正在尝试为JSF网站使用Spring Security 3.0.2 LDAP身份验证.当我在applicationContext-security.xml中使用以下配置时,我得到此异常 - org.springframework.beans.factory.BeanCreationException:创建名为'org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices#0'的bean时出错: bean的初始化失败; 嵌套异常是org.springframework.context.ApplicationContextException:没有注册UserDetailsS​​ervice.

<authentication-manager>
    <ldap-authentication-provider
        user-search-filter="(uid={0})" user-search-base="ou=users,ou=system"
        group-search-base="ou=groups,ou=system">
    </ldap-authentication-provider>
</authentication-manager>

<ldap-server id="ldapServer" url="ldap://localhost:10389"
    root="" />
Run Code Online (Sandbox Code Playgroud)

我刚刚进行了实验,发现添加以下内容可以使事情发挥作用.

<ldap-user-service server-ref="ldapServer" user-search-filter="(uid={0})" />
Run Code Online (Sandbox Code Playgroud)

但我在Spring LDAP文档中找不到对此的引用.如果我不添加此内容,为什么会出现上述异常?我对这种解决方法不满意,因为我需要在两个地方编写user-search-filter属性.

PS:我已经检查过Spring Security LDAP - 没有注册UserDetailsS​​ervice.异常是不同的,我猜Spring Security版本也不同.

spring-security spring-ldap

5
推荐指数
1
解决办法
3593
查看次数

在不同的PHP页面中使用相同的MySQL连接

我正在为我的大学项目用PHP创建一个简单的Web应用程序.我正在使用MySQL数据库.

我在login.php中连接到数据库.连接后,我将连接分配给$ _SESSION ["conn"],然后重定向到main.php.

在main.php中我写了$ conn = $ _SESSION ["conn"].但$ conn中的连接不起作用.

我认为,当login.php脚本结束时,连接将关闭.所以我尝试使用mysql_pconnect而不是mysql_connect,但这也不起作用.

我知道我可以在每个PHP文件中重新连接到数据库.但我不想这样做.我想在所有PHP文件中使用相同的连接.

php mysql connection

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

如何使用GTK开发Eclipse之类的界面?

我想要使​​用GTKMM编写桌面应用程序.我希望界面由不同的面板组成,例如在Eclipse中你有Project Explorer,Console,Properties等.你应该能够拖动面板来改变它们的位置,关闭它们并弹出它们(不确定你是否可以弹出Eclipse中的面板,但您可以在Visual Studio中执行此操作.

我在这里使用单词面板,因为我不确定正确的术语是什么.我想有人称之为可停靠的窗户.

有关如何在GTKMM中实现这一点的任何指示?

gtk gtkmm

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

是否可以只包含正在使用的 jQuery 库的一部分?

假设我只使用了几个 jQuery 函数,比如 show、hide、animate 和 attr。是否可以只获取实现这四个功能的部分jQuery库?

我不介意使用诸如编译器或某些依赖项检查脚本之类的工具。

PS:请不要告诉我 jQuery 库的大小非常小,包含它无关紧要。我知道这一点,但我仍然想知道这是否可能。

编辑:我要求一个自动化的解决方案。

optimization jquery

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

如何在C++中创建对象?

我认识Java,但对C++知之甚少.我正在尝试为https://developers.google.com/v8/get_started上代码的主要功能编写前3个语句的类.

首先,我对如何在C++中创建对象有疑问.请参阅以下代码.

HandleScope handle_scope;
Persistent<Context> context = Context::New();
Context::Scope context_scope(context);
Run Code Online (Sandbox Code Playgroud)

我认为在C++中,当你声明一个类的变量时,就会在该点创建一个类的实例.您不需要在Java中使用new关键字.因此,第一个语句将创建一个HandleScope实例,该实例将存储在handle_scope中.现在我不明白第二个陈述是如何起作用的.根据我的知识,在=之前的部分将创建一个新的Persistent对象,可以通过变量context来引用它.然后Context :: New()将创建一个新对象并将其存储在上下文中?嗯,我知道我错了.但我根本不知道它会如何工作?

我正在尝试为上面写一个C++类.这是我的尝试.

class MyClass {
private:
    HandleScope handle_scope;
    Persistent<Context> context;
    Context::Scope context_scope;

public:
    MyClass(); 
};

MyClass::MyClass()
{
    context = Context::New();
    context_scope = new Context::Scope(context);
}
Run Code Online (Sandbox Code Playgroud)

我是否正确完成了初始化?

编辑:回复peachykeen(在评论中)我做了以下实验.

我写了一个Test类,如下所示.测试{public:Test(){cout <<"Test"<< endl; }};

在主要功能中我写了Test test; 它输出"Test",表示在不使用new关键字的情况下创建对象.

c++

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