如何在routes.jsx文件中定义路由,以便__firebase_request_key从服务器重定向后从Twitter的单点登录进程生成的URL中捕获参数值?
http://localhost:8000/#/signin?_k=v9ifuf&__firebase_request_key=blablabla
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下路由配置,但是:redirectParam没有捕获所提到的参数:
<Router>
<Route path="/" component={Main}>
<Route path="signin" component={SignIn}>
<Route path=":redirectParam" component={TwitterSsoButton} />
</Route>
</Route>
</Router>
Run Code Online (Sandbox Code Playgroud) 我是Play的新手!Framework 2.1(java版)并没有使用scala的经验.我不明白Build.scala 中的内容%和%%含义.我用Google搜索了他们但却找不到他们的意思.
在我的Build.scala文件中,我有:
"org.hibernate" % "hibernate-entitymanager" % "4.1.0.Final",
"com.typesafe" %% "play-plugins-mailer" % "2.1"
Run Code Online (Sandbox Code Playgroud)
为什么第一行使用单个%符号而第二行使用2%符号%%?它们适用于什么?
在尝试找到一个示例,其中FloatingActionButton浮动在其标准的右下方屏幕位置没有结果,我来找你,如果你可以提供一个,因为它似乎是一个普通的按钮,没有任何智能浮动到该角落默认情况下.
它是否应该通过设置自定义css规则使其浮动?Material-UI文档未提及有关浮动Material-UI FloatingActionButton文档的任何属性.
我已经创建了使用配置在播放应用(2.1)conf/application.conf在Hocon格式.
我想在配置中添加一系列项目.该文件conf/application.conf如下所示:
...
projects = [
{name: "SO", url: "http://stackoverflow.com/"},
{name: "google", url: "http://google.com"}
]
Run Code Online (Sandbox Code Playgroud)
我尝试在Scala项目中阅读此配置:
import scala.collection.JavaConversions._
case class Project(name: String, url: String)
val projectList: List[Project] =
Play.maybeApplication.map{x =>
val simpleConfig = x.configration.getObjectList("projects").map{y =>
y.toList.map{z =>
Project(z.get("name").toString, z.get("url").toString) // ?!? doesn't work
...
}}}}}}}} // *arg*
Run Code Online (Sandbox Code Playgroud)
这种方法似乎非常复杂,我很多都丢失了Options,而且我的Eclipse IDE无法给出任何关于类的提示.
有没有人举例说明如何从Hocon配置文件中读取对象数组?或者我应该使用带有JSON解析器而不是Hocon的JSON文件?
我正在尝试编写类似于http://www.playframework.com/documentation/2.1.1/ScalaHttpFilters中描述的简单过滤器,但我需要访问请求体.下面的文档说明"当我们接下来调用时,我们会返回一个Iteratee.如果你愿意的话,你可以将它包装在一个Enumeratee中进行一些转换." 我正在试图找出如何包装Iteratee,以便我可以将请求体作为过滤器中的字符串,这样我也可以记录它.
我有两个班,用户和汽车.两者都有ManyToMany相互映射.
用户:
@Entity
public class User extends Model {
private int year;
@ManyToMany(cascade=CascadeType.ALL)
private List<Car> cars;
}
Run Code Online (Sandbox Code Playgroud)
汽车:
@Entity
public class Car extends Model {
@ManyToMany(mappedBy = "cars", cascade=CascadeType.ALL )
private List<User> users;
}
Run Code Online (Sandbox Code Playgroud)
使用ebean,我只想查询1999年那些在其列表中提供用户的汽车.我不想在Java代码中迭代用户的汽车列表.
我没有找到任何文档,多少对多的查询应该是什么样子.所以我会这样:
public List<Car> findCars(int year, User user) {
return Car.find.where().eq("year", int).eq("users", user).findList();
}
Run Code Online (Sandbox Code Playgroud)
这可能与Ebean有关吗?
我将以下依赖项添加到我的Build.scala中并且它们完美地工作(没有编译错误),但是Intellij IDEA 12无法识别它们.它显示红色突出显示.
"com.google.inject" % "guice" % "3.0",
"com.typesafe" %% "play-plugins-mailer" % "2.1-RC2"
Run Code Online (Sandbox Code Playgroud)

你可以看到它很烦人:)
有可能解决它吗?在google guice的情况下,我将它的jar放入/ lib文件夹(所以我有两次库,一个在/ lib中,另一个在/ target文件夹中)然后IDEA没有显示错误,但我不喜欢这个解决方法并不能为Mailer插件做同样的事情.
谢谢你的帮助.
我正在编写一个玩具应用程序,用于在nodejs(expressjs)上练习微服务和身份验证.
我有一个反应客户端,一个身份验证服务和其他服务(他们只是回答"嗨"到目前为止).
这个想法是未经身份验证的客户端通过单击Twitter按钮(SSO)进入身份验证服务.然后,auth服务获取生成的twitter誓言令牌,并在redis存储中设置此令牌.然后,其他服务可以访问该令牌,以便通过检查请求是否已经存在于redis存储中来知道它是否已经过身份验证(如果用户删除了其帐户,它也将从redis存储中删除) .经过身份验证后,我会在客户端之间来回发送Twitter令牌.
我发现这种方法非常简单(其他人使用nginx代理进行身份验证,但我认为没有理由,除非服务托管在不同的域中,但我不太了解它)所以我很担心我是例如,缺少关于安全性的东西.
问题:
我目前正在使用session()模板中的play框架:
@if(session().get("email")==null){
<li><a href="@controllers.routes.General.login">Login</a></li>
}else{
<li><a href="@controllers.routes.General.logout">Logout</a></li>
}
Run Code Online (Sandbox Code Playgroud)
此模板用于我的所有视图.其中一些视图由Java控制器控制,一些视图由Scala控制器控制.
当我点击导致Java控制器的链接时,我没有问题,正确处理登录和注销的链接.
当我点击导致Scala控制器的链接时,我得到一个[RuntimeException: There is no HTTP Context available from here.]
从我在这里读到的关于scala控制器的内容来看,我理解他们在渲染页面时没有返回http上下文,但我真的希望能够在我的模板中使用会话.
我想session()在我的视图中使用一个参数,模板和控制器,但我相信java会话(play.mvc.http.session)和scala会话(play.api.mvc.session)之间会发生冲突. play会编译html页面.
我被困了?是否有可能强制scala控制器回放http上下文?
我在Scala中有以下代码:
case class Product(id: Option[Long] = None, name: String, price: BigDecimal, description: String)
object Products extends Table[Product]("product") {
def id = column[Long]("id", O.AutoInc, O.PrimaryKey)
def name = column[String]("name", O.NotNull)
def price = column[BigDecimal]("price", O.NotNull)
def description = column[String]("description", O.NotNull)
def * = id.? ~ name ~ price ~ description <>(Product.apply _, Product.unapply _)
def autoInc = * returning id
def add(product: Product)(implicit s:Session): Long = {
Products.autoInc.insert(product)
}
def all(implicit s:Session): List[Product] = {
Query(Products).list
}
}
Run Code Online (Sandbox Code Playgroud)
列出所有产品效果很好,但是,我无法使添加方法有效.
致电后:
val …Run Code Online (Sandbox Code Playgroud) scala ×5
java ×2
reactjs ×2
css ×1
ebean ×1
html ×1
json ×1
many-to-many ×1
material-ui ×1
node.js ×1
oauth ×1
passport.js ×1
postgresql ×1
react-router ×1
sbt ×1
session ×1
slick ×1