我正在构建一个新的Web应用程序,我正在使用Spring,JPA/Hibernate和Postgres.我的一些表有creation_ts和lastupdate_ts列,这些列是时间戳列,用于跟踪插入发生的时间以及行上次更新的时间.
我也在我的表中使用列的命名约定,因此在设计策略方面,每个表都保证有两列pkey,它是一个整数代理键,以及用于乐观锁定的版本.
我有两种方法可以使这些字段保持最新状态.
选项A:使用触发器
这是我现在已经采用的解决方案,我有两个Postgres触发器,可以触发插入和更新,并使这些字段保持最新.我有两节课.
@MappedSuperclass
public abstract class PersistableObject
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="pkey")
private Integer pkey;
@Version
@Column(name="version")
private Integer version;
public Integer getPkey()
{
return this.pkey;
}
public Integer getVersion()
{
return this.version;
}
}
Run Code Online (Sandbox Code Playgroud)
我有
@MappedSuperclass
public class TimeStampedPersistableObject extends PersistableObject {
@Column(name = "creation_ts")
@Temporal(TemporalType.DATE)
@org.hibernate.annotations.Generated(value = GenerationTime.INSERT)
private Date creationTimestamp;
@Column(name = "update_ts")
@Temporal(TemporalType.DATE)
@org.hibernate.annotations.Generated(value = GenerationTime.ALWAYS)
private Date updateTimestamp;
public Date getCreationTimestamp()
{
return this.creationTimestamp;
}
public Date getUpdateTimestamp()
{
return this.updateTimestamp; …Run Code Online (Sandbox Code Playgroud) 我想在Windows上创建一个ISO映像,即.iso文件.这可以使用COM组件IMAPI2FS.MsftFileSystemImage,我在MSDN博客文章"在PowerShell中使用IMAPI 2编写光盘"中找到了如何使用PowerShell执行此操作的说明.
在第3步之后,这些指令说"在这一步你可以停止并将结果图像保存到本地硬盘,这将是一个纯粹的ISO图像."
我的问题:如何在PowerShell中获取$ resultStream,即检索ImageStream的COM对象,并将其内容保存到文件中?
(对于奇怪的标题表示道歉,但我想不出更好的标题.)
对于个人Haskell项目,我希望得到"绝对值"(如频率)和相对值(如两个频率之间的比率)的概念.在我的上下文中,添加两个绝对值是没有意义的:一个可以添加相对值以产生新的相对值,并将相对值添加到绝对值以产生新的绝对值(同样对于减法).
我为这些定义了类型类:见下文.但是,请注意操作符##+和#+具有类似结构(同样适用于##-和#-).因此,我更愿意合并这些运算符,以便我有一个加法运算符,它添加一个相对值(同样是一个减法运算符,它会产生一个相对值). 更新:为了澄清,我的目标是统一我##+和#+一个单一的运营商.我的目标不是将它与existing(Num)+运算符统一起来.
但是,我不知道如何使用类型类来执行此操作.
问题:可以这样做,如果是,怎么做?或者我不应该尝试?
以下是我目前的情况:
{-# LANGUAGE MultiParamTypeClasses #-}
class Abs a where
nullPoint :: a
class Rel r where
zero :: r
(##+) :: r -> r -> r
neg :: r -> r
(##-) :: Rel r => r -> r -> r
r ##- s = r ##+ neg s
class (Abs a, Rel r) …Run Code Online (Sandbox Code Playgroud) 给定Windows Server 2008 R2系统,其中服务帐户使用非英语显示语言,使用SQL Server 2008,以下Transact-SQL语句失败:
CREATE LOGIN [NT AUTHORITY\NETWORK SERVICE] FROM WINDOWS ...
Run Code Online (Sandbox Code Playgroud)
出现以下错误:
未找到Windows NT用户或组"NT AUTHORITY\NETWORK SERVICE".再次检查名称.
(或服务帐户的非英语显示语言中的相同消息,具体取决于上下文).
如果服务帐户使用英语作为其显示语言,则相同的语句会成功.
原因似乎很清楚:例如,在德国系统中,此帐户的显示名称是NT-AUTORITÄT\NETZWERKDIENST,并且名称NT AUTHORITY\NETWORK SERVICE(带空格)无法识别.此外,非本地化名称NT AUTHORITY\NETWORKSERVICE(无空格)也不起作用.
我的问题:我应该如何重写上述声明,使其无论显示语言如何都能正常工作?或者我被迫找出本地化名称(在我的情况下是InstallScript)?然后我就可以用了
CREATE LOGIN [NT-AUTORITÄT\NETZWERKDIENST] FROM WINDOWS
Run Code Online (Sandbox Code Playgroud)
哪个确实有用......
我一直在研究各种样本,试图为ASP.Net Web服务和WCF RESTful Web服务拼凑基于SAML令牌的身份验证解决方案......我参考过的一些示例:
我一直在与每个障碍作斗争,我很亲密,我可以品尝它.给我的最新一块是:
如果我用的是普通WebServiceHostFactory,定制的授权策略被应用,并且结束Thread.CurrentPrincipal中最多的,取值为我的HTTP模块集HttpContext.Current.User ...但是...如果我使用WebServiceHost2Factory(即从REST入门工具包),以获得自动求助终点,等等,然后将已授权政策没有应用,并且Thread.CurrentPrincipal中最终被以任何方式有关ClaimsPrincipal我在设置RoleProviderPrincipal的实例的HttpModule ..: - (
有任何想法,想法如何让WebServiceHost2Factory与自定义/重写主体发挥良好作用?
谢谢,
泰勒
使用NTLM身份验证到AD FS 2.0,从运行在Windows上的Google Chrome或Firefox 3.5+时,会导致重复登录对话框并最终导致登录失败,"审核失败"事件的状态为"状态:0xc000035b".
这可以通过关闭IIS中"/ adfs/ls"Web应用程序的"扩展保护"来"解决".这在几个地方有记录; 有关详细信息,请参阅我对另一个StackOverflow问题的回答.
我的问题是:如何在不关闭"扩展保护"的情况下,为这些浏览器对AD FS进行NTLM身份验证?我的意思是,在Internet Explorer中,这可以正常使用"扩展保护",为什么不使用Chrome或Firefox?或者这是Chrome/Firefox实施错误/限制,例如,他们使用Windows NTLM库?
更新:我应该提到我想这样做而不强迫人们在浏览器设置中进行更改.
如我的问题中所述使用PowerShell创建ISO映像:如何将IStream保存到文件?,在PowerShell中我创建一个IStream对象如下:
$is = (New-Object -ComObject IMAPI2FS.MsftFileSystemImage).CreateResultImage().ImageStream
Run Code Online (Sandbox Code Playgroud)
此对象是(PowerShell)类型System.__ComObject.不知怎的,PowerShell知道它是IStream:
PS C:\> $is -is [System.Runtime.InteropServices.ComTypes.IConnectionPoint]
False
PS C:\> $is -is [System.Runtime.InteropServices.ComTypes.IStream]
True
Run Code Online (Sandbox Code Playgroud)
但是,此类型的强制转换失败:
PS C:\> [System.Runtime.InteropServices.ComTypes.IStream] $is
Cannot convert the "System.__ComObject" value of type "System.__ComObject" to type "System.Runtime.InteropServices.ComT
ypes.IStream".
At line:1 char:54
+ [System.Runtime.InteropServices.ComTypes.IStream] $is <<<<
+ CategoryInfo : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException
Run Code Online (Sandbox Code Playgroud)
如何在不使用C#代码的情况下进行此转换?
更新:显然这种转换无法正常工作,正如x0n的回答所说的那样.
现在,我的目标是将此IStreamCOM对象传递给某些C#代码(使用相同的PowerShell脚本的一部分Add-Type),它将成为类型的.NET对象System.Runtime.InteropServices.ComTypes.IStream.那可能吗?如果没有,我有什么替代品?
正如几个问题中所述(Windows Server 2012上注册ASP.NET 4.5的替代方案 ; Server 2012 IIS 8 MVC应用程序显示默认的IIS主页或403/404 错误 ; IIS8上的WCF;*.svc处理程序映射不起作用) ,在Windows Service 2012上,该aspnet_regiis -ir命令不再起作用,而是产生以下输出:
此版本的操作系统不支持此选项.管理员应该使用"打开/关闭Windows功能"对话框,服务器管理器管理工具或dism.exe命令行工具,使用IIS8安装/卸载ASP.NET 4.5.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=216771.
在我们的例子中,我们只想运行此命令来重新注册ASP.NET 4.5,因为其他一些安装未注册它:已经安装了ASP.NET 4.5.
使用受引用帖子启发的UI(添加/删除角色/功能),我发现删除WCF的HTTP激活功能然后再次添加就足够了.(但我需要卸载/重新安装恰好依赖于WCF HTTP激活的功能......)
问题:如何通过Windows Server 2012上的命令行完成同样的事情?
(我看着这个dism.exe东西,但它看起来令人生畏,并dism.exe -?没有帮助我.)
谢谢!
目前我写的lilypond代码看起来像这样:
\version "2.14.2"
P = #parenthesize
\relative c, {
\clef bass
<c \P c'> <e \P e'> <g \P g'>2 <c, \P c'>4 <d \P d'> <e \P e'>2
}
Run Code Online (Sandbox Code Playgroud)
我一再表示' 这个音符,同一个音符高一个八度,括号'.
我想要一种缩写的方法,这样我就可以这样写:
\version "2.14.2"
poct = ...
\relative c, {
\clef bass
\poct c \poct e \poct g2 \poct c,4 \poct d \poct e2
}
Run Code Online (Sandbox Code Playgroud)
正如对我之前的一个问题的有用回答所建议的那样,我试图使用音乐功能,但我无法让它发挥作用.我能得到的最接近的是
poct = #(define-music-function
(parser location note)
(ly:music?)
#{
<< $note \transpose c c \parenthesize …Run Code Online (Sandbox Code Playgroud) (这个问题类似于Get UPN or email for login user in a .NET web application,但不完全相同。)
在使用 Windows 身份验证的 .NET (C#) Web 应用程序中,我想找到登录用户的 UPN。
我知道如何通过查询 Active Directory 来做到这一点:从HttpContext.Current.User.Identity as WindowsIdentity;获取 'DOMAINNAME\userName' 在 下查找 DOMAINNAMEldap://RootDSE并找到它dnsRoot;查询(&(objectCategory=person)(objectClass=user)(sAMAccountName=...userName...))下ldap://...dnsRoot...;获取此条目的userPrincipalName属性。(更多细节在回答/sf/answers/35956791/ 中)。
我的问题:是否可以在不调用 Active Directory 的情况下找到 UPN ?鉴于 Microsoft 专注于在任何地方使用 UPN,UPN 是不是已经存储在用户向 Web 服务器进行身份验证时创建的令牌中的某处?
(支持观察:如果我whoami /upn在 Windows 7 上运行,那么 Wireshark 不会显示任何 Active Directory 连接。)
(如果有什么不同:请注意,我们的 Web 应用程序不使用 …
com ×2
imapi ×2
powershell ×2
.net ×1
adfs ×1
adfs2.0 ×1
asp.net ×1
asp.net-4.5 ×1
com-interop ×1
firefox ×1
guile ×1
haskell ×1
hibernate ×1
iis-8 ×1
iso-image ×1
java ×1
jpa ×1
jpa-2.0 ×1
lilypond ×1
locale ×1
ntlm ×1
postgresql ×1
principal ×1
rest ×1
saml ×1
scheme ×1
sql-server ×1
t-sql ×1
typeclass ×1
upn ×1
wcf ×1