小编Ste*_*ess的帖子

Java无法访问子类重新定义的方法中的顶级属性

我的顶级课程就像魅力一样:

public class TestA<E extends Test>
{
      List<Vector<E>> list;
      String name, location;

      TestA(String name, String location)
      {
            this.name = name;
            this.location = location;
            list = new ArrayList<Vector<E>>();
      }

      void populate(Test[] arr)
      {
            for(Vector<E> vk : list)
            {
                  // Code here...
            }
      }

}     

class OrderedTest<E extends Test> extends TestA {

      OrderedTest(String name, String location)
      {
            super(name, location);
      }

      void populate(Test[] arr)
      {
            for(Vector<E> vk : list) // ERROR: Cannot convert from element Object to Vector<E>
            {
                  // Code here... 
            } …
Run Code Online (Sandbox Code Playgroud)

java generics inheritance

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

在代码的其他地方设计渲染符号=> up/in form partials

我刚开始使用Devise和Rails3.我已经认证了IQnetication并且正在理解基础知识.

截至目前在我的Home Controller中代表我的Home/Front Page我有两个链接,一个链接到Register => sign_up,另一个根据login/logout => sign_in/sign_out而改变.

但是,我不想将我的用户重定向到登录页面.相反,我想在我的首页上显示我的登录表单.所以我将devise/session/new模板int 分离到视图和_form.html.erb部分.

现在,在我的主视图中,我将登录表单呈现为:

<% if user_signed_in? %>
    Welcome: <b><%= current_user.username %> (<%= current_user.group.name %>)</b>
    <%= link_to "Logout", destroy_user_session_path, :method => 'delete' %>
<% else %>
    <%= render 'devise/sessions/form' %> // Rendering the partial here
    <%= link_to "Login", new_user_session_path %>
<% end %>
<hr>
Run Code Online (Sandbox Code Playgroud)

这是部分代码:

<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
  <div><%= f.label :email %><br />
  <%= f.email_field :email, :autofocus => true %></div>

  <div><%= f.label :password …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

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

模型/ActiveRecord 不保存新数据

我已经确认这种方法有效。基本上它从控制器获取电子邮件并更改特定用户的电子邮件。

但是,它实际上从未保存数据。我传递了错误的电子邮件格式,如果我传递正确的电子邮件方法返回 true,则它返回 false,这意味着它分配了一个新电子邮件并称为安全。

# Allows user to change email address
def change_email(newmail)  
  address = EmailVeracity::Address.new(newmail)

  if address.valid?
    self.email = newmail
    self.save
    return true
  else
    return false
  end

end
Run Code Online (Sandbox Code Playgroud)

我首先检查了日志是否有任何提示,但我得到的只是:

Started POST "/members/editmail" for 127.0.0.1 at 2013-04-25 17:33:44 +0200
Processing by MembersController#editmail as HTML
  Parameters: {"authenticity_token"=>"*****=", "mail"=>"*****@gmail.com"}
  ?[1m?[35mUser Load (1.0ms)?[0m  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
  ?[1m?[36mCharacter Load (0.0ms)?[0m  ?[1mSELECT `characters`.* FROM `characters` WHERE `characters`.`user_id` = 1?[0m
  ?[1m?[35m (0.0ms)?[0m  BEGIN
  ?[1m?[36mUser Exists (0.0ms)?[0m  ?[1mSELECT 1 FROM …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.2

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

Slim Framework身份验证

我在谷歌搜索了一个用于Slim框架的身份验证库的好时光,但所有出现的都是基于单用户的身份验证BasicHttpAuth.除了实现我自己的身份验证之外,我还有什么其他选择.

除了散列密码之外,我对会话不是很了解我知道如何使用它们但保持会话安全是另一回事.

php slim

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

带有 Nginx 反向代理的 NiFi 身份验证

是否可以在 NGINX 上使用具有用户身份验证但使用 SSL 终止的 NiFi。我在端口 443 上运行 NGINX,并在端口 8080 上将 proxy_pass 传递给 nifi。我玩弄了这些标头:

X-ProxyScheme - the scheme to use to connect to the proxy
X-ProxyHost - the host of the proxy
X-ProxyPort - the port the proxy is listening on
X-ProxyContextPath - the path configured to map to the NiFi instance
Run Code Online (Sandbox Code Playgroud)

但是似乎不可能让 NiFi 识别它在代理后面的 https 连接上。我更新了我的身份验证配置,但是 NiFi 仍然抛出错误:

IllegalStateException: User authentication/authorization is only supported when running over HTTPS.. Returning Conflict response.
java.lang.IllegalStateException: User authentication/authorization is only supported when running …
Run Code Online (Sandbox Code Playgroud)

nginx apache-nifi

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

Rails>设计密码加密

我正在尝试实现一种方法,允许密码从设备外的其他服务更改无论如何.

# Profile password change
def change_password(oldpass, newpass)
    pepper  = nil
    cost    = 10

    # Encrypt plain text passwords
    encrypt_old     = ::BCrypt::Password.create("#{oldpass}#{pepper}", :cost => cost).to_s

    # Validate old
    if self.encrypted_password == encrypt_old
        encrypt_new     = ::BCrypt::Password.create("#{newpass}#{pepper}", :cost => cost).to_s
        self.encrypted_password = encrypt_new
        self.save
    else
        Logger.new("Wrong old password!")
    end
end
Run Code Online (Sandbox Code Playgroud)

似乎我得到了密码加密错误oldpass包含旧密码的纯文本我需要哈希它看看它是否与当前密码匹配然后允许存储新密码.但是我所得到的只是密码错误.

重做:

def change_password(oldpass, newpass)
    if valid_password?(oldpass)
        password = newpass
        save
        return true
    else
        return false
    end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise ruby-on-rails-3 ruby-on-rails-3.2

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

Bootstrap折叠导航li菜单

我正在尝试使用Bootstrap的崩溃插件,但收效甚微.我想要一个带隐藏子菜单的手风琴式导航菜单.

我的HTML和JS:

 <ul class="nav nav-list">

    <li class="nav-header">
        <span>
            Home
            <span class="pull-right"  data-toggle="collapse">X</span>
        </span>
        <ul class="nav nav-list collapse in" id="test" >
            <li><a href="/ticket_list.cfm" title="Show list of tickets">Open Tickets</a></li>
            <li><a href="/account/" title="Edit user accounts">Accounts / Community</a></li>
        </ul>
    </li>  
  </ul>    
            <script type="text/javascript">
                $('.collapse').collapse()
            </script>
Run Code Online (Sandbox Code Playgroud)

这应该工作.当页面加载时,我可以看到子菜单隐藏了一个ms.但我可以点击X或Home我想要的东西,它不会扩展.

我已经包含了所有JS并且正确链接了我验证了.我的子页面上还有一个accorion面板,折叠选项卡在那里工作.

twitter-bootstrap

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

使用Sentry 2处理登录

我无法理解Sentry 2的登录实现.我的意思是在哨兵这是相当紧张的前进.提供从输入到Sentry::login()方法的用户名/电子邮件和密码,但他们现在改变它,这真的很混乱.

首先,他们删除了Username列,这没有任何意义.
其次,登录方法现在需要使用用户的id检索一个User对象,这再次没有意义,因为你不知道用户id,除非你做了另一个查询,所以它们真的很复杂.

我的代码:

public function login()
{
    // Deny access to already logged-in user
    if(!Sentry::check())
    {
        $rules = array(
            'username' => 'required|unique:users',
            'password' => 'required' );

        $validator = Validator::make(Input::all(), $rules);

        if($validator->fails())
        {
            Session::flash('error', $validator->errors());
            return Redirect::to('/');
        }

        $fetch = User::where('username', '=', trim(Input::get('username')));
        $user = Sentry::getUserProvider()->findById($fetch->id);

        if(!Sentry::login($user, false))
        {
            Session::flash('error', 'Wrong Username or Password !');
        }

        return Redirect::to('/');

    }

    return Redirect::to('/');
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用这种方法,但它抛出一个异常:尽管id是表的一部分,但id是未知的,而User模型只是一个带有$ table ='users'的类声明; 属性.

我在这里做错了什么或不理解.

php laravel laravel-4 cartalyst-sentry

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

Java:将指定类型分配给泛型类型

我试图理解以下代码。

class Test<E extends SubTest>
{
    List<Vector<E>> links;

    Test()
    {
        links = MyStaticClass.aList;
        // Where aList is static ArrayList<Vector<SubTest>>;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将以下内容分配ArrayList给链接列表会出现错误。考虑到我用SubTest扩展了E,它不理解作业吗?

当我有一个参数T t时;我可以访问t属性,但不能执行上述操作。难道不List<Vector<T>>链接指望得到ArrayList<Vector<SubTest>>呢?

java generics types

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

Bootstrap - WYSIWYG编辑选项无效

</body>标记之前的文档末尾,我有所需的资源:

{{ HTML::script('/themes/admin/js/jquery.js') }}
{{ HTML::script('/themes/admin/js/jquery-ui.js') }}
{{ HTML::script('/themes/admin/js/bootstrap.min.js') }}
{{ HTML::script('/themes/admin/js/wys.js') }} // Bootstrap-wysiwyg
Run Code Online (Sandbox Code Playgroud)

所有脚本都是链接的,并且在那里工作.这是我的HTML:

<div id="editor" class="well col-md-3" contenteditable="true">

</div>

<script type="text/javascript">
  $('#editor').wysiwyg();
</script>
Run Code Online (Sandbox Code Playgroud)

这是我上方的工具栏代码:

    <div class="well">
      <div class="btn-toolbar" data-role="editor-toolbar" data-target="#editor">
      <div class="btn-group">
        <a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" title="" data-original-title="Font"><i class="glyphicon glyphicon-font"></i><b class="caret"></b></a>
          <ul class="dropdown-menu">
          <li><a data-edit="fontName Serif" style="font-family:'Serif'">Serif</a></li><li><a data-edit="fontName Sans" style="font-family:'Sans'">Sans</a></li><li><a data-edit="fontName Arial" style="font-family:'Arial'">Arial</a></li><li><a data-edit="fontName Arial Black" style="font-family:'Arial Black'">Arial Black</a></li><li><a data-edit="fontName Courier" style="font-family:'Courier'">Courier</a></li><li><a data-edit="fontName Courier New" style="font-family:'Courier New'">Courier New</a></li><li><a data-edit="fontName Comic Sans MS" style="font-family:'Comic Sans …
Run Code Online (Sandbox Code Playgroud)

wysiwyg twitter-bootstrap twitter-bootstrap-3

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